Синтаксическая ошибка начинающего MySQL

Я пытаюсь создать таблицу в уже созданной базе данных.
Я уже переключился на базу данных, используя USE church_fpip,
Вот мой код для создания новой таблицы, но по некоторым причинам кажется, что ZEROFILL создает синтаксическую ошибку.

mysql> CREATE TABLE sermons (
->   id INT NOT NULL AUTO_INCREMENT,
->   year INT(4) NOT NULL,
->   month INT(2) NOT NULL ZEROFILL,
->   day INT(2) NOT NULL ZEROFILL,
->   title VARCHAR(50) NOT NULL,
->   preacher VARCHAR(30) NOT NULL,
->   length INT(3) NOT NULL,
->   visible TINYINT(1) NOT NULL,
->   PRIMARY KEY (id)
-> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ZEROFILL,
day INT(2) NOT NULL ZEROFILL,
title VARCHAR(50) NOT NULL,
preach' at line 4

0

Решение

Я думаю ZEROFILL должно быть раньше NOT NULL такие как

 month INT(2) ZEROFILL NOT NULL,
day INT(2) ZEROFILL NOT NULL,

Однако я бы порекомендовал использовать DATETIME для того, что вы пытаетесь сделать, вместо трех столбцов, представляющих день / месяц / год.

1

Другие решения

Я бы рекомендовал использовать поле даты вместо отдельного года, месяца и дня. Вы можете разобрать дату согласно вашей необходимости. Таким образом, это поможет сохранить вашу базу в чистоте и нормализовать.

1

По вопросам рекламы [email protected]