UPDATE mytable SET mycolumn= LTRIM(RTRIM(mycolumn));
これを使用して、先頭と末尾のスペースから列全体をトリミングしますが、必要なのは
|ID|Name |
|1 |demo 6 |
|2 |demo3 500 |
私が欲しいのは、このintを削除して、最後の文字がintであるNAMEをトリミングすることです。
出力
|ID|Name |
|1 |demo |
|2 |demo |
mysqlだけで実行できますか?または、テーブルを更新するためにphpを使用する必要がありますか?
注:このテーブルには約20K行が含まれています
編集:わかりましたphpです、
$s='';
foreach($q as $row){
$d=$row->name;
while(is_numeric(substr($d,-1))){$d=rtrim($d, '0123456789');}
if(is_numeric(substr($row->name,-1)))
$s.="update name_list set name='".$d."' where id='{$row->id}';\n";
}
echo "count:".count(explode('\n',$s))."<br/><pre>$s</pre>";
それらを1つずつ実行しようとすると、振れます。
更新行にパッチを適用するためのより良い方法はありますか?