是否可以确保相同的 ID 不会在 2 个表中出现两次?
例如我有这个列:call id
我想确保它会在两个表中计数
例如:calls_to_x
和 calls_to_y
我想输入两个表数据并确保 call id
列将从两个表中增加,例如:
calls_to_x
:
调用 ID:1 参数:.... 时间:01:00:00
调用 ID:3 个参数:.... 时间:01:30:00
calls_to_y
:
调用 ID:2 个参数:.... 时间:01:10:00
调用 ID:4 个参数:.... 时间:01:34:00
最佳答案
答案取决于您使用的 RDBMS。
对于 MySQL:
如果您只需要唯一值(而不是连续值),则可以使用类似 UUID 的值。唯一标识每一行。
如果您确实需要这些值是连续的,可以通过使用指示内容类型的字段将表合并为一个表,或者使用第三个表来跟踪使用的 id,其中包含 id 字段和该列的 auto_increment 。如果需要,第二列可以跟踪哪个表使用了该 ID。您可以在 SQL 函数中 INSERT INTO 该表并返回 LAST_INSERT_ID() 的值,以获取其他表的下一个 id。
对于大多数其他 RDBMS
关于mysql - 是否可以确保相同的 ID 不会在 2 个表(数据库)中出现两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14184045/