mysql - 将值插入到高于当前自动增量/标识值的自动增量/标识列中

标签 mysql auto-increment sql-insert

详情

我在 SE 或 MySQL 文档中找不到有关此问题的任何信息。

我遇到过一种情况,我可能需要插入一个高于当前值的自动增量值。例如,auto-inc 列当前位于 12,我需要插入 auto-inc 字段位于 15 的行。

问题

1 - 如果我只是简单地执行此插入,一旦自动增量达到 15,它会发生冲突吗?还是下一个插入的值会从 16 开始?一位 friend 告诉我后者是如何运作的。然而,在文档中我发现了一个声明,它会导致稍后发生冲突。执行此操作后,我是否需要将表重新设定为 16?

2 - 在这种情况下,最佳做法是什么?

如果需要提供任何其他信息,请告诉我。

最佳答案

据我所知,插入高于当前增量的值会产生调整数据库中的 AUTO_INCRMENT 值的效果。也就是说,插入 20 会将其设置为 21。我相当确定这种行为在较新版本的 MySQL 中是一致的。

您可以使用SHOW CREATE TABLE查看当前增量。

关于mysql - 将值插入到高于当前自动增量/标识值的自动增量/标识列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26239865/

相关文章:

mysql - 优化mysql查询

mysql - 数据库迁移 : auto-incremented foreign key trouble

mysql - 防止 MySQL 重复插入多个值时自动递增

sql - 如何在 SQL 中组合WITH语句和INSERT INTO

php - Mysqldump - 如何从此文件恢复单个表?

PHP 数组变量传递不正确

MySQL:计算在给定日期之前具有连续日期的行

MySQL 在自增列中使用静态数字是否安全

python 到 mysql (MariaDB) 插入带有变量错误的查询

php - 从 CodeIgniter 中的另一个表中获取用户名和用户 ID