0

我正在尝试在已创建的数据库中创建一个表。我已经使用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
4

2 回答 2

1

我认为ZEROFILL需要在NOT NULL诸如

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

但是,我建议DATETIME您使用 ,而不是代表日/月/年的三列。

于 2015-03-30T21:35:27.560 回答
1

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

于 2015-04-29T02:25:32.327 回答