0

不明な量の括弧付き数字を含む大きな MYSQL テーブルがあります。

例: 「今、地球は [1] 形がなく、空っぽだった...」

番号は 3 桁までです。

数字がどうなるかわからない場合に、括弧と数字の両方を削除するクエリを作成することはできますか?

4

2 に答える 2

1

これを試してください、それがあなたに役立つことを願っています:

<?php
$str = "Just random [4] stuff with [56] random nums [000]" ;     
$clean = preg_replace("/(\[[0-9]+\])/", "", $str) ;

echo $clean ; //Outputs: Just random  stuff with  random nums
?>

データベースからデータを取得し、置換を行います。

または、データベースの値を変更するスクリプトを作成することもできます: Fetch identificators and strings with SELECT. その後、交換を行ってください。を使用して、データベース内のテーブルを更新しますUPDATE

于 2013-02-16T23:13:29.333 に答える
0

1回限りの場合は、次のことができます。

  • テーブルをファイルにダンプしますmysqldump -u user -p dbname --no-create-info mytable > /tmp/mytabledump.sql
  • sedあなたの交換を使用してsed -e 's/\[\([0-9]*\)\]//g' mytabledump.sql > mytableclean.sql
  • テーブルを切り捨てるmysql -u user -p dbname -e "TRUNCATE TABLE mytable;"
  • データのインポートmysql -u user -p dbname < /tmp/mytableclean.sql

正規表現を少し調整する必要があるかもしれません。

于 2013-02-17T00:32:18.573 に答える