9

MySQLコミュニティサーバー5.1を使用しています。1つのクエリですべての行をデフォルトの列値に戻す方法はありますか?

たくさんの行を追加しました。指定されたほとんどの列のデフォルト値がありましたが、何らかの理由で、代わりにすべての列の値が0に設定されました。すべての列の値をデフォルト値に設定するクエリがあるかどうか疑問に思っていました。また、where句の機能も必要になります。

たとえば、次のようなものです。

update table set values = values(default) where id > 300;

ありがとう!

4

2 に答える 2

23

INSERTおよびUPDATEクエリで使用できるDEFAULTキーワードがあり、実際の列値の代わりに使用できます。

update my_table set my_column = DEFAULT where id > 300;

MySQLマニュアルに記載されているとおり

前の回答で述べたように、DEFAULT()関数もあることに注意してください。これを使用して、使用する任意の列のデフォルト値を選択できます。

于 2012-07-23T14:47:55.270 に答える
6

試してみてください:

UPDATE table_name SET col = DEFAULT(col) WHERE id > 300;
于 2012-07-23T14:39:01.600 に答える