Ошибка создания таблицы в mysql при использовании CURDATE () по умолчанию - PullRequest
17 голосов
/ 13 сентября 2010

Я пытаюсь создать следующую таблицу с помощью phpmyadmin sql console:

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

Однако я получаю следующую ошибку: alt text

В "CURDATE ()" отображаетсякрасный, так что я думаю, что это проблема.

Может ли кто-нибудь помочь мне здесь?

1 Ответ

24 голосов
/ 13 сентября 2010

Вы не можете использовать CURDATE () в качестве значения по умолчанию.

Вместо этого вы можете использовать столбец TIMESTAMP с DEFAULT CURRENT_TIMESTAMP. Тогда вам придется игнорировать временную часть.

Пример кода SQL:

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;

Результат:

id  id_date
1   2010-09-12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...