我有一个名为“客户”的MYSQL表,其中包含以下字段:
问题很简单:
如果我必须更新“名称”和“姓氏”,我希望该记录的所有其他字段都返回其初始值,而无需明确声明它们。
是否有任何指令可以自动执行此操作?
谢谢大家! :)
是否有任何指令可以自动执行此操作?
没有MySQL仅在datetime和timestamp的列定义中支持ON UPDATE
子句(并且仅将列设置为当前日期)。其他数据库甚至不支持ON UPDATE
因此,您需要在update
语句中显式分配要重置的列。您可以使用DEFAULT
作为目标值来简化逻辑,因此您不必记住每个默认值。
update customers
set
name = 'foo',
surname = 'bar',
age = default,
city = default
where id = 1
无关的注释:存储年龄不是一个好习惯,因为该信息会随着时间而变化。相反,您可以存储出生日期,并在需要时即时计算年龄(或使用视图)。