小编Tus*_*ush的帖子

从多个会话写入时,last_insert_id() 是否返回正确的结果?

我有一个表,其中有 4 列的组合将充当唯一键。

我想保留一个 id 列作为主键,而不是使用复合主键。该字段在 auto_increment 上。对数据库的插入是通过 C 接口完成的。当插入一行时,我想知道它被分配的 id。LAST_INSERT_ID() 可用于检索它,但会有多个会话插入到表中。在这种情况下 LAST_INSERT_ID() 会返回正确的值吗?

我已经阅读了这篇文章:MySql 的 LAST_INSERT_ID() 函数保证正确吗? 它表示插入多行时返回第一个插入行的 id。

当多个会话写入同一个表但单个会话一次只写入一行时,是否可以检索生成的 id 的正确值?隔离级别也重要吗?

mysql primary-key auto-increment

6
推荐指数
1
解决办法
3777
查看次数

维护插入过多的表

我必须创建一个表。它的大小将会非常快速地增加。

如果在此处提到的同一时刻触发许多插入查询,是否会有任何问题 -用户名的用户自动增量 ID

我想使用密钥,以便在值达到最大可能值后生成值为 1 的下一个密钥。如何实现?旧数据没有用,所以我可以删除起始行的数据。我知道 UNSIGNED BIGINT 的范围很大,但是有什么方法可以使用触发器创建数据库,以便键重用旧值?尝试编写用户定义的函数来实现这一点有什么缺点?

mysql database-design primary-key

0
推荐指数
1
解决办法
372
查看次数