不同表的唯一ID

时间:2013-10-03 11:57:50

标签: mysql database

在mysql中我有两个表。两个表都有自动增量。我希望表共享相同的唯一ID表。例如,当我向表1插入数据时,它将向行5提供id,然后表2将无法使用id 5.它会自动将id 6提供给行。

2 个答案:

答案 0 :(得分:1)

如果您想在两个不同的表中使用一个唯一键,为什么不合并表? 如果你不能,那么最简单的步骤是从第二个表中删除AutoIncrement约束,并根据第一个表上生成的Id插入它

答案 1 :(得分:1)

如果您使用PHP生成下一个数字,那么这并不困难,下面的SQL将为您提供两个表中当前最高的数字,PHP可以比较并在将其写回适当的表之前将其加1。 / p>

SQL: -

SELECT MAX(table1ID)AS table1id,MAX(table2ID)AS table2id 来自table1table2

但是你想要关闭自动增量,如果你不能合并表格,那么另一种方法就是第二个有2个字段的表格

table1字段ID,无论字段列表

table2字段ID,无论字段列表

table3字段在非唯一字段

中的ID,table1.ID或table2.ID

然后,表3成为其他两个中的任何一个的索引。