我无法解决Mysql DB上主键和唯一键的问题

问题描述 投票:-1回答:1

请在投票之前,阅读完整的问题。

确定..现在我正试图通过访问mysql db导入数据。

关于我的访问文件数据看起来像:

a)结构:

enter image description here

您可以看到ID作为主键,而MGenre是唯一键

b)数据:

enter image description here

正如您在打开表时看到的那样(不是通过查询,也没有使用排序),它表明数据完全正确(按主键排序)

现在当我在MySQL数据库上使用相同的结构时,出现了问题,数据无法正确显示。这是我的MySQL数据的屏幕截图

a)结构:enter image description here

您可以在此处看到,就像ms access db一样,它也将ID作为主键,将MGenre作为唯一键

b)数据:

enter image description here

但是您可以看到,这里当我通过phpmyadmin浏览数据时,数据未正确显示(未按主键排序),似乎数据已按唯一键列排序。另外,为您提供信息,我已按访问表上显示的数据相同的顺序(使用insert命令)导入了数据。甚至我尝试使用第三方软件导入,但结果相同。

而且,当我尝试使用mysqldump导出数据库时,它的导出顺序与phpmyadmin上显示的顺序相同。

但是我需要存储数据并导出与访问表相同的顺序。

((注:哦!即使我将MGenre索引键从唯一更改为非唯一,仍然是同样的问题:()

任何建议?

mysql database ms-access primary-key unique-key
1个回答
0
投票

您所看到的没有任何不正确之处。对于表中如何存储行,SQL表没有固有的排序规则。它不在规格中。由每个DBMS实现决定要做什么。您不能假定数据将以任何特定顺序存储或检索。

如果您出于某种目的需要能够以某种顺序查看或处理数据,则需要使用ORDER BY子句通过查询访问该数据。

如果所需顺序与主键字段的顺序不同,还可以考虑在表中需要特定的“排序顺序”列。

© www.soinside.com 2019 - 2024. All rights reserved.