如何使用当前日期的日期默认值在 mysql 中创建新的 table?
how to create new table in mysql with date default value for current date?
我正在尝试以下代码:
create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null);
如何为日期列设置默认值?尝试 now()
,但它无效..
您可以使用current_date
create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null DEFAULT (CURRENT_DATE)
);
这有效,我在 MySQL 8.0.27.
上测试过
mysql> create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null default (current_date));
注意默认表达式周围的括号。这是必需的。
mysql> insert into People (first_name, last_name) values ('Bill', 'Karwin');
mysql> select * from People;
+------------+-----------+-------------------+
| first_name | last_name | registration_date |
+------------+-----------+-------------------+
| Bill | Karwin | 2022-01-13 |
+------------+-----------+-------------------+
表达式作为列默认值是 MySQL 8.0.13 中引入的新功能,因此它在旧版本的 MySQL 中不起作用。有关详细信息,请参阅 https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html。
我正在尝试以下代码:
create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null);
如何为日期列设置默认值?尝试 now()
,但它无效..
您可以使用current_date
create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null DEFAULT (CURRENT_DATE)
);
这有效,我在 MySQL 8.0.27.
上测试过mysql> create table People (
first_name varchar(15) not null,
last_name varchar(15) not null,
registration_date date not null default (current_date));
注意默认表达式周围的括号。这是必需的。
mysql> insert into People (first_name, last_name) values ('Bill', 'Karwin');
mysql> select * from People;
+------------+-----------+-------------------+
| first_name | last_name | registration_date |
+------------+-----------+-------------------+
| Bill | Karwin | 2022-01-13 |
+------------+-----------+-------------------+
表达式作为列默认值是 MySQL 8.0.13 中引入的新功能,因此它在旧版本的 MySQL 中不起作用。有关详细信息,请参阅 https://dev.mysql.com/doc/refman/8.0/en/data-type-defaults.html。