Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mySQL如何在SHOW CREATE表中排列主键?_Mysql_Sql_Primary Key - Fatal编程技术网

mySQL如何在SHOW CREATE表中排列主键?

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

我创建了一个表,下面是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) 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上的索引会有帮助,但另一个不会。