0

我试过下面的查询(不是我自己写的,而是包含在网上的一个源代码中)

CREATE TABLE `city_list_count` (
  `city_created` date NOT NULL,
  `count_created` int(8) unsigned NOT NULL,
  PRIMARY KEY `city_created` 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

它给了我以下错误:

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 ') ENGINE=InnoDB DEFAULT CHARSET=utf8' 附近使用正确的语法

4

2 回答 2

1

根据MySQL CREATE TABLE 语法,您需要在约束的列列表之前和之后使用括号:

[CONSTRAINT [symbol]] 主键 [index_type] (index_col_name,...) [index_option] ...

于 2013-07-13T21:10:27.717 回答
0

尝试不同的事情我已经指出错误的原因是主键字段名称应该用括号括起来:

CREATE TABLE `city_list_count` (
  `city_created` date NOT NULL,
  `count_created` int(8) unsigned NOT NULL,
  PRIMARY KEY (`city_created`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我在任何地方都找不到对此的解释。但是,它对我有用。如果有人遇到同样的麻烦,只是想与其他人分享。

于 2013-07-13T20:45:05.940 回答