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

mysql phpmyadmin

20057 просмотра

1 ответ

6689 Репутация автора

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

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

Однако я получаю следующую ошибку: альтернативный текст

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

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

Автор: Goles Источник Размещён: 12.09.2010 09:44

Ответы (1)


24 плюса

632906 Репутация автора

Решение

Вы не можете использовать 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
Автор: Mark Byers Размещён: 12.09.2010 09:49
Вопросы из категории :
32x32