2012-07-23 4 views
6

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

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

何か:

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

ありがとう!

+0

なぜあなたはこれをやりたいと思うのですか?既定のデータのみを持つレコードを持つ点は何ですか? – eggyal

+1

これは私にとって心配することです;-) –

答えて

16

は、あなたが任意の実際の列値の代わりに使用することができますINSERTやUPDATEクエリで使用可能なデフォルトのキーワードがあります:文書

update my_table set my_column = DEFAULT where id > 300; 

としてin the MySQL Manual

前の回答で述べたように、DEFAULT() functionもあります。使用する列のデフォルト値を選択することができます。

+0

は、私がそのドキュメントページに何百回も訪れたとしても、知っていたはずです。 –

6

あなたは試してみてください:

UPDATE table_name SET col = DEFAULT(col) WHERE id > 300; 
関連する問題