实际上,我需要在表列之一中将当前月份的名称作为小写字符串作为默认值。数据库表可能类似于:
name : john
joined : january
当我尝试使用mysql函数LOWER( MONTHNAME( NOW() ) )
作为默认值时,这给了我错误。顺便说一句,我对创建触发器不感兴趣。
任何魔术查询可以做到这一点?
从MySQL文档:
除一个例外,将表达式默认值括在括号内,以将其与文字常量默认值区分开。
因此,以下应工作:
CREATE TABLE yourTable (
month_name VARCHAR(12) DEFAULT (LOWER(MONTHNAME(NOW())))
...
)
正如@Madhur指出的那样,使用表达式作为默认值仅适用于MySQL 8及更高版本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句