我正在使用MySQL社区服务器5.1。有没有一种方法可以通过一个查询将所有行设置回其默认列值?

我刚刚添加了很多行。对于大多数指定的列,我都有默认值,但是由于某些原因,所有列的值都改为= 0。我想知道是否存在将所有列值设置为其默认值的查询,并且我也需要where子句的功能。

例如:

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

谢谢!

最佳答案

在INSERT和UPDATE查询中有一个DEFAULT关键字可以用来代替任何实际的列值:

update my_table set my_column = DEFAULT where id > 300;

如所记录的in the MySQL Manual

请注意,还有一个DEFAULT() function,如前面的答案中所述;通过它可以选择任何列的默认值以供使用。

10-07 16:13
查看更多