mySQL如何在SHOW CREATE表中排列主键?
我创建了一个表,下面是SHOW CREATE table所做的:mySQL如何在SHOW CREATE表中排列主键?,mysql,sql,primary-key,Mysql,Sql,Primary Key,我创建了一个表,下面是SHOW CREATE table所做的: CREATE TABLE `x` ( `COMPETITION_ID` int(10) unsigned NOT NULL DEFAULT '0', `PLAYER1A_ID` int(10) unsigned NOT NULL DEFAULT '0', `PLAYER1B_ID` int(10) unsigned NOT NULL DEFAULT '0', `PLAYER2A_ID` int(10) unsig
CREATE TABLE `x` (
`COMPETITION_ID` int(10) unsigned NOT NULL DEFAULT '0',
`PLAYER1A_ID` int(10) unsigned NOT NULL DEFAULT '0',
`PLAYER1B_ID` int(10) unsigned NOT NULL DEFAULT '0',
`PLAYER2A_ID` int(10) unsigned NOT NULL DEFAULT '0',
`PLAYER2B_ID` int(10) unsigned NOT NULL DEFAULT '0',
`SCORE` tinyint(3) unsigned NOT NULL DEFAULT '0',
`DATEAT` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`REPLAY_ID` int(10) unsigned DEFAULT NULL,
`ONTREE` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`PLAYER1A_ID`,`PLAYER1B_ID`,`PLAYER2A_ID`,`PLAYER2B_ID`,`COMPETITION_ID`,`ONTREE`),
KEY `FK__2v2_ladder_3` (`PLAYER1B_ID`),
KEY `FK__2v2_ladder_4` (`PLAYER2A_ID`),
KEY `FK__2v2_ladder_5` (`PLAYER2B_ID`),
KEY `FK__2v2_ladder_6` (`REPLAY_ID`),
KEY `FK__2v2_ladder_1` (`COMPETITION_ID`),
CONSTRAINT `FK__2v2_ladder_1` FOREIGN KEY (`COMPETITION_ID`) REFERENCES `competitions` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__2v2_ladder_2` FOREIGN KEY (`PLAYER1A_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__2v2_ladder_3` FOREIGN KEY (`PLAYER1B_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__2v2_ladder_4` FOREIGN KEY (`PLAYER2A_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__2v2_ladder_5` FOREIGN KEY (`PLAYER2B_ID`) REFERENCES `users` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `FK__2v2_ladder_6` FOREIGN KEY (`REPLAY_ID`) REFERENCES `uploads` (`ID`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED;
如果您检查主键部分,您可以发现顺序不是列顺序-它应该是COMPETITION\u ID、PLAYER1A\u ID、PLAYER1B\u ID、PLAYER2A\u ID、PLAYER2B\u ID、ONTREE。MySQL是如何安排的?它算数吗?您使用的是什么GUI?列在数据库中的顺序并不重要,但索引中的顺序非常重要。不是mysql定义了这个索引,是有人做的。我使用mysql查询浏览器。因此,你是说它设置的顺序错误,而不是MySQL本身?换句话说,如果我设置主键a、b、c和主键b、c、a,这并不重要?这两个是不同的,例如,如果你想按a排序,a、b、c上的索引会有帮助,但另一个不会。