在mysql中我有两个表。两个表都有自动增量。我希望表共享相同的唯一ID表。例如,当我向表1插入数据时,它将向行5提供id,然后表2将无法使用id 5.它会自动将id 6提供给行。
答案 0 :(得分:1)
如果您想在两个不同的表中使用一个唯一键,为什么不合并表?
如果你不能,那么最简单的步骤是从第二个表中删除AutoIncrement
约束,并根据第一个表上生成的Id插入它
答案 1 :(得分:1)
如果您使用PHP生成下一个数字,那么这并不困难,下面的SQL将为您提供两个表中当前最高的数字,PHP可以比较并在将其写回适当的表之前将其加1。 / p>
SQL: -
SELECT MAX(table1
。ID
)AS table1id
,MAX(table2
。ID
)AS table2id
来自table1
,table2
但是你想要关闭自动增量,如果你不能合并表格,那么另一种方法就是第二个有2个字段的表格
table1字段ID,无论字段列表
table2字段ID,无论字段列表
table3字段在非唯一字段
中的ID,table1.ID或table2.ID然后,表3成为其他两个中的任何一个的索引。