Подтвердить что ты не робот

Ошибка создания таблицы в mysql при использовании CURDATE() по умолчанию

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

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

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

Он показывает "CURDATE()" красным цветом, поэтому я предполагаю, что проблема.

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

4b9b3361

Ответ 1

Вы не можете использовать 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