0

最初に読んでくれてありがとう。

価格フィールドの形式が無効な場合があります。値のデフォルトの形式は $xxx.xx ですが、完全に削除したい $xxx.xx$xxx.xx と表示される場合があります。価格フィールドでエラーが発生した場合、基本的には行を削除したいだけです。

単純にそれをチェックするためにphp関数でチェックを行うことができましたが、すべてのレコード(約2000以上)をループする必要があるため、そうするには長い時間がかかるようです。これを行うためのより良い、より速い方法はありますか? おそらくMYSQLコマンドで直接?

目的は、価格フィールドを検証してドル記号が重複していないことを確認し、重複している場合は、さらに処理を行う前にそれらを削除することです。

        if(substr_count($deleterow['product_price'], "$") >= 2 || $deleterow['product_StoreItemNumber'] = null)
4

2 に答える 2

1
UPDATE table SET produce_price=0 WHERE produce_price LIKE '%$$%'

データベースに仕事をさせてください。

以前に示したように価格設定を許可するように編集しました (列に価格記号を格納するのは本当に悪いです。列は 10 進数 (10,2) 形式で、価格値、つまり xxx.xx を格納するだけです。通貨記号はアプリケーションにある必要があります。 .

UPDATE table SET produce_price='$0.00' WHERE produce_price LIKE '%$%$%' OR produce_price LIKE '%$$%'
于 2013-06-10T15:24:46.950 に答える