0

我的 Web 应用程序收到用户提交的数据库记录更新表单。

我想创建一个 sql,它将所有值更新为用户提交的内容,除了用户留空的值。对于那些,我希望将值设置为其数据库默认值。

有没有办法做到这一点?我正在寻找类似的东西

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

请注意,我正在更新现有行,因此我不能只从更新 sql 中取出一些列,因为它们之前可能有一个值,现在需要删除它。

4

2 回答 2

0

有一个DEFAULT(col_name)函数:

返回表列的默认值。如果该列没有默认值,则会导致错误。

UPDATE my_table SET col1=17, col2=DEFAULT(col2), col3='some text'
于 2013-01-16T09:24:55.283 回答
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 回答