Create table fail in mysql when using CURDATE() as default

前端 未结 1 768
情深已故
情深已故 2020-12-05 19:20

I\'m trying to create the following table using phpmyadmin sql console:

CREATE TABLE dates
(
id int NOT NULL,
id_date datetime NOT NULL DEFAULT CURDATE(),
PR         


        
相关标签:
1条回答
  • 2020-12-05 19:40

    You can't use CURDATE() as a default value.

    Instead you can use a TIMESTAMP column with DEFAULT CURRENT_TIMESTAMP. Then you will have to ignore the time part of it.

    Example SQL code:

    CREATE TABLE dates
    (
        id int NOT NULL,
        id_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
        PRIMARY KEY (id)
    );
    INSERT INTO dates (id) VALUES (1);
    SELECT id, DATE(id_date) AS id_date FROM dates;
    

    Result:

    id  id_date
    1   2010-09-12
    
    0 讨论(0)
提交回复
热议问题