【发布时间】:2012-08-28 12:08:52
【问题描述】:
我刚遇到一种情况,我需要复制唯一的 (自动递增)另一列中每个新行的 id。所以我是 想知道,而不是用老式的方式来做:
- 插入行
- 获取 insert_id
- 使用 insert_id 更新行
我可以告诉 MySQL 使用与新 id 相同的值吗 要设置为另一列的值?
类似这样的事情:
INSERT INTO my_table(unique_column, id_duplicate)
VALUES('value', GET_UNIQUE_ID_OF_THIS() )
【问题讨论】:
-
你永远无法知道下一个 ID 会是什么,除非你锁定它......通过插入一条新记录,因此你的“老式方式”。
-
为什么要在另一列中复制自动增量列?如果您描述了您想要完成的任务,我们可以帮助您提供最佳实践或不同的解决方案。
-
我不知道我能不能解释清楚,这有点复杂.. 但基本上有一个数据库,其中存储在一个表 (A) 中的小部件引用不同表中的某些上下文 (乙)。现在我们引入了一种新的小部件类型,它必须引用一组行(在 B 中),而不仅仅是一个。所以我不想让这个组 ID (B) 成为最新最大组 ID 的增量,因为它容易受到互斥问题的影响。但相反,我想使用小部件的唯一 ID(来自 A)作为表 A 中的上下文 ID,从而使用表 B 中的组 ID。这是我最简单的解决方案。
-
这是什么“互斥问题”?
标签: mysql duplicates unique-id