在 mysql 中,我有两个表。两个表都具有自动增量。我希望这些表共享相同的唯一 id 表。例如,当我将数据插入表 1 时,它会将 id 5 分配给行,然后表 2 将无法使用 id 5。它会自动将 id 6 分配给行。
问问题
74 次
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 回答