我无法解决 Mysql 数据库上的主键和唯一键问题

I Cant Solve The Issue With Primary Key And Unique Key On Mysql DB

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

好的..现在我正在尝试从 mysql 数据库中导入数据。

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

a) 结构:

可以看到ID是primary Key,MGenre是Unique key

b) 数据:

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

现在当我在 MySQL 数据库上使用相同的结构时出现问题,数据显示不正确。这是我的 MySQL 数据

的屏幕截图

a) 结构:

正如您在这里看到的,就像 ms access db,它也有 ID 作为主键,MGenre 作为唯一键

b) 数据:

但如您所见,当我通过 phpmyadmin 浏览数据时,数据显示不正确(未按主键排序),数据似乎按唯一键列排序。另外,为了您的信息,我已经按照与访问 table 时显示的数据相同的顺序(使用插入命令)导入了数据。即使我尝试使用第三方软件导入,但结果相同。

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

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

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

有什么建议吗?

您所看到的没有任何错误。 SQL table 对于行在 table 中的存储方式没有固有的排序规则。它不在规范中。由每个 DBMS 实现来决定要做什么。您不能假定数据将以任何特定顺序存储或检索。

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

还请考虑您是否需要 table 中的特定 "Sort order" 列,如果所需的顺序与主键字段的顺序不同。