gpt4 book ai didi

mysql - AUTO_INCREMENT 在我的案例中是否正确实现?

转载 作者:可可西里 更新时间:2023-11-01 08:51:31 24 4
gpt4 key购买 nike

这个问题和我的old question, Getting last record from mysql有点关系.

根据这些回答,我了解到 SELECT 不能保证以任何特定顺序返回行(当然,不使用 ORDER BY 子句)。

我按照@YaK 的回答并使用以下命令在表格中添加了AUTO_INCREMENT

ALTER TABLE maxID ADD sequence INT DEFAULT NULL;
ALTER TABLE maxID ADD INDEX(sequence);
ALTER TABLE maxID MODIFY sequence INT AUTO_INCREMENT;

但是今天我有一个问题。

SELECT 不能保证以任何特定顺序返回行时(当然不使用 ORDER BY 子句),THEN 在更改表时,AUTO_INCREMENT 会被正确实现吗?

最佳答案

后台发生的事情取决于引擎类型:

'对于 MyISAM 和 BDB 表,您可以在多列索引的辅助列上指定 AUTO_INCREMENT。在这种情况下,AUTO_INCREMENT 列的生成值计算为 MAX(auto_increment_column) + 1 WHERE prefix=given-prefix。当您想将数据放入有序组中时,这很有用。”

这将在 auto_increment 上创建具有多个值的表,非唯一值。

因此,您真正的意思是为 InnoDB 表设置一个带有 auto_increment 的 PRIMARY KEY(虽然不是必需的)。在没有 order by 子句的情况下进行选择时,简单选择将按主键顺序返回值,因为它按此顺序存储并将使用主键进行排序。

如果您想要特定顺序,请始终指定它,如果需要,请使用主键,但始终指定它。

关于mysql - AUTO_INCREMENT 在我的案例中是否正确实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13247972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com