我有一个运行旧MySQL版本(5.5.41)的服务器,其中支持以下内容:
create table mytest33
(
topicnum mediumint,
postnum mediumint auto_increment,
primary key (topicnum,postnum)
);
因此,当我将值插入此表时,它将如下所示:
Topicnum Postnum
1 1
1 2
2 1
等等。因此,如果topicnum不同,postnum值将返回到1。
这不再受支持-当我尝试在MySQL版本5.6.17中创建同一个表时,出现一个错误:
错误1075(42000):表定义不正确;只能有一个自动列,必须将其定义为键。
我用的是MyISAM引擎。
我该怎么解决这个问题?
最佳答案
据我所知,下面是您需要执行的命令:-
create table mytest33(topicnum mediumint, postnum mediumint auto_increment,index(postnum), primary key (topicnum,postnum));
您可以从这里获得更多信息:-
Mysql Innodb: Autoincrement non-Primary Key。
希望有帮助。
祝您今天过得愉快!