【问题标题】:Mysql Alter table can you cast for default value?您可以将 Mysql Alter 表转换为默认值吗?
【发布时间】:2019-04-11 01:37:12
【问题描述】:

ALTER TABLE Table1 ADD COLUMN Created datetime DEFAULT CAST('0001-01-01 00:00:00' AS DATETIME) NOT NULL;

我们的一个供应商正在为 EF 迁移生成此 sql,并且语法为 mysql 引发错误。

是否可以在mysql中使用强制转换作为默认值?

【问题讨论】:

  • 有什么理由有这么奇怪的默认日期时间值吗?我更喜欢使用 NULL。
  • 默认是 Identity Server 4 EF 存储,我确信他们有特定的原因来使用这个特定的值。

标签: mysql sql syntax


【解决方案1】:

cast() 是不必要的。该值会自动转换为正确的类型:

ALTER TABLE Table1 ADD COLUMN Created datetime DEFAULT '0001-01-01 00:00:00' NOT NULL;

MySQL 允许默认值使用常量,但不允许表达式。

【讨论】:

  • 谢谢,很高兴知道,我会把它转告给他们。欣赏!
猜你喜欢
  • 1970-01-01
  • 2011-04-05
  • 2020-02-21
  • 2011-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多