初学者 MySQL 语法错误

Beginner MySQL Syntax Error

我正在尝试在已创建的数据库中创建 table。 我已经使用 USE church_fpip 切换到数据库。 这是我创建新 table 的代码,但出于某种原因,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

我觉得ZEROFILL需要在NOT NULL之前比如

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

不过,我建议您使用 DATETIME 作为您尝试执行的操作,而不是三列代表 day/month/year.

我建议使用日期字段而不是单独的年月日。您可以根据需要解析日期。这样有助于保持数据库的清洁和规范化。