簡體   English   中英

如何使用當前日期的日期默認值在 mysql 中創建新表?

[英]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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM