2

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

4

2 回答 2

1

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

于 2013-10-03T11:59:09.713 回答
1

如果您使用 PHP 生成下一个数字,那么这并不难,下面的 SQL 将为您提供两个表中当前最大的数字,PHP 可以比较并在最高值上加 1,然后再将其写回相应的表。

SQL:-

选择 MAX( table1. ID) AS table1id, MAX( table2. ID) AS table2id FROM table1, table2

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

table1 字段 ID,任何字段列表

table2 字段 ID,任意字段列表

非唯一字段中的 table3 字段 ID、table1.ID 或 table2.ID

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

于 2013-10-03T12:11:08.847 回答