这有效:
CREATE TABLE shoutbox_shout ( shout_id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, user_id INT UNSIGNED NOT NULL DEFAULT 0, shout_date INT UNSIGNED NOT NULL DEFAULT 0, message MEDIUMTEXT NOT NULL, KEY shout_date (shout_date) )
…与此同时:
CREATE TABLE shoutbox_shout ( shout_id INT UNSIGNED NOT NULL AUTO_INCREMENT, user_id INT UNSIGNED NOT NULL DEFAULT 0, shout_date INT UNSIGNED NOT NULL DEFAULT 0, message MEDIUMTEXT NOT NULL, KEY shout_date (shout_date) )
…结果是:
1075-错误的表格定义;只能有一个自动列,并且必须将其定义为键
我添加了主键,但仍然出现错误。
引用错误#45987,错误1075(42000):不正确的表定义:
实际上,这不是服务器错误,只是MyISAM(在该手册页中默认为默认值)和其他地方记录的InnoDB存储引擎之间的区别:http : //dev.mysql.com/doc/refman/5.1/en/innodb- auto-increment-handling.html
MyISAM不再是默认引擎;InnoDB是。
另外:http : //bugs.mysql.com/bug.php?id=60104
InnoDB不支持AUTO_INCREMENT,但是没有为表定义主键,但是MyISAM支持。选择您要使用的引擎(MyISAM或InnoDB),并相应地处理CREATE TABLE语句。