在mysql中,我有两个表。两个表都有自动增量。我希望这些表共享相同的唯一id表。例如,当我在表1中插入一个数据时,它会将id 5赋给row,end,那么表2将不能使用id 5,它会自动将id 6赋给row。
发布于 2013-10-03 19:59:10
如果你想在两个不同的表中使用一个唯一的键,为什么不合并这个表呢?如果不能,那么最简单的步骤就是从第二个表中删除AutoIncrement约束,并根据第一个表中生成的Id对其进行插入
发布于 2013-10-03 20:11:09
如果您使用PHP生成下一个数字,那么这并不困难,下面的SQL将给出两个表中的当前最大值,PHP可以进行比较,并在将其写回适当的表之前将最高值加1。
SQL:-
选择MAX( table1.ID )作为table1id,MAX( table2.ID )作为table2id FROM table1,table2
但是你会想要关闭自动增量,如果你不能合并表格,那么另一种方法是第三个包含2个字段的表格
table1字段ID,任何字段列表
table2字段ID,任何字段列表
非唯一字段中的table3字段ID、table1.ID或table2.ID
然后,Table3成为其他两个中任何一个的索引。
https://stackoverflow.com/questions/19158623
复制相似问题