MYSQL中不能使用函数作为默认值
为什么 MYSQL数据库,不能像 MSSQLserver中,使用默认函数,比如 now();
我在
mysql> select timestampadd(minute,5,now());
+------------------------------+
| timestampadd(minute,5,now()) |
+------------------------------+
| 2008-02-20 09:48:16 |
+------------------------------+
1 row in set (0.00 sec)
我想放在 sendtime 字段
我在
mysql> select timestampadd(minute,5,now());
+------------------------------+
| timestampadd(minute,5,now()) |
+------------------------------+
| 2008-02-20 09:48:16 |
+------------------------------+
1 row in set (0.00 sec)
我想放在 sendtime 字段
...全文
相关推荐
MySQL表字段设置默认值(图文教程及注意细节)
然而,这些函数不能直接作为字段的默认值,除非它们对应的字段类型是`timestamp`或`datetime`。
mysql 设置默认的时间值
为什么不能使用函数作为默认值在 MySQL 中,默认值可以是常量、NULL 或 NOW() 函数,但是无法使用其他函数作为默认值。
MySQL基础语法-数据类型默认值.pdf
例如,表达式中可以包含文字、内置函数以及运算符,但不允许使用子查询、参数、变量、存储函数和可加载函数。表达式默认值不能依赖于具有`AUTO_INCREMENT`属性的列。
SQLServer和MySql语法和关键字的区别详解
**默认值**: 在 MySQL 中,不能为 `datetime` 类型指定默认值为当前时间,而 SQLServer 可以轻松实现这一点;MySQL 使用 `timestamp` 类型来表示当前时间。
MySQL Replace INTO的使用
要注意的是,不能从当前行中引用值,也不能在新行中使用计算表达式,如"SET col_name = col_name + 1"这样的赋值会被解析为设置默认值后再进行运算。


