0

私の Web アプリケーションは、ユーザーが送信した db レコードの更新フォームを受け取ります。

ユーザーが空白のままにしたものを除いて、すべての値をユーザーが送信したものに正確に更新するSQLを作成したいと思います。それらについては、値をDBのデフォルトに設定したいと思います。

それを行う方法はありますか?私は次のようなものを探しています

update my_table set col1=17, col2=DEFAULT, col3='some text'

私は既存の行を更新していることに注意してください。したがって、更新SQLからいくつかの列をライブにすることはできません。以前に値を持っていた可能性があるため、今すぐ消去する必要があります。

4

2 に答える 2

0

どうやら、私が書いたのとまったく同じように、それはとても簡単です:

update my_table set col1=17, col2=DEFAULT, col3='some text'

http://dev.mysql.com/doc/refman/5.0/en/update.html

于 2013-01-16T09:25:39.843 に答える
0

DEFAULT(col_name)関数があります。

テーブル列のデフォルト値を返します。列にデフォルト値がない場合、エラーが発生します。

UPDATE my_table SET col1=17, col2=DEFAULT(col2), col3='some text'
于 2013-01-16T09:24:55.283 に答える