将行恢复为默认列值mysql
Posted
技术标签:
【中文标题】将行恢复为默认列值mysql【英文标题】:revert rows to default column value mysql 【发布时间】:2012-07-23 14:37:15 【问题描述】:我正在使用 mysql 社区服务器 5.1。有没有办法通过一个查询将所有行设置回它们的默认列值?
我刚刚添加了很多行。我为大多数指定的列设置了默认值,但由于某种原因,所有列的值都设置为 = 0。我想知道是否存在将所有列值设置为其默认值的查询,并且我也需要where
子句的能力。
例如这样的:
update table set values = values(default) where id > 300;
谢谢!
【问题讨论】:
为什么你会想要这样做,这超出了我的理解。只有默认数据的记录有什么意义? 这是让我担心的 ;-) 【参考方案1】:在 INSERT 和 UPDATE 查询中有一个可用的 DEFAULT 关键字,您可以使用它来代替任何实际的列值:
update my_table set my_column = DEFAULT where id > 300;
据记录 in the MySQL Manual
请注意,还有一个DEFAULT() function,如上一个答案中所述;您可以使用它选择任何列的默认值以供使用。
【讨论】:
应该知道,即使我去过那个文档页面无数次:-/谢谢!【参考方案2】:你应该试试:
UPDATE table_name SET col = DEFAULT(col) WHERE id > 300;
【讨论】:
以上是关于将行恢复为默认列值mysql的主要内容,如果未能解决你的问题,请参考以下文章