2024年3月12日发(作者:)
mysql> create table temp5(id int,tstamp datetime default date_add(now(),interval 1 day)); # 5.7版本及以前
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'date_add(now(),interval 1 day))' at line 1
mysql> select date_add(now(),interval 1 day);
+--------------------------------+
| date_add(now(),interval 1 day) |
+--------------------------------+
| 2020-04-22 22:11:52 |
+--------------------------------+
1 row in set (0.00 sec)
mysql> create table temp5(id int,tstamp datetime default (date_add(now(),interval 1 day))); # 8.0版本
Query OK, 0 rows affected (0.16 sec)
mysql> desc temp5;
+--------+----------+------+-----+--------------------------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+--------+----------+------+-----+--------------------------+-------------------+
| id | int(11) | YES | | NULL | |
| tstamp | datetime | YES | | (now() + interval 1 day) | DEFAULT_GENERATED |
+--------+----------+------+-----+--------------------------+-------------------+
2 rows in set (0.00 sec)
mysql> insert into temp5(id) values(1);
Query OK, 1 row affected (0.06 sec)
mysql> select * from temp5;
+------+---------------------+
| id | tstamp |
+------+---------------------+
| 1 | 2020-04-22 22:13:27 |
+------+---------------------+
1 row in set (0.00 sec)
mysql> drop table temp;
Query OK, 0 rows affected (0.04 sec)
mysql> create table temp(id int,id2 int default (1+1));
Query OK, 0 rows affected (0.13 sec)
mysql> desc temp;
+-------+---------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------------------+
| id | int(11) | YES | | NULL | |
| id2 | int(11) | YES | | (1 + 1) | DEFAULT_GENERATED |
+-------+---------+------+-----+---------+-------------------+
2 rows in set (0.01 sec)
mysql> insert into temp(id) values(10);
Query OK, 1 row affected (0.08 sec)
mysql> select * from temp;
+------+------+
| id | id2 |
+------+------+
| 10 | 2 |
+------+------+
1 row in set (0.00 sec)


发布评论