【问题标题】:revert rows to default column value mysql将行恢复为默认列值mysql
【发布时间】:2012-07-23 14:37:15
【问题描述】:

我正在使用 MySQL 社区服务器 5.1。有没有办法通过一个查询将所有行设置回它们的默认列值?

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

例如这样的:

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

谢谢!

【问题讨论】:

  • 为什么你会想要这样做,这超出了我的理解。只有默认数据的记录有什么意义?
  • 这是让我担心的 ;-)

标签: mysql default


【解决方案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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 1970-01-01
    相关资源
    最近更新 更多