【问题标题】:Autoincrement in mysql without unique ids没有唯一ID的mysql中的自动增量
【发布时间】:2012-10-06 16:44:22
【问题描述】:

我有一个包含主 ID 和用户 ID 的表。每个用户 ID 都有一组自己唯一的主 ID,但多个用户 ID 可以有相同的主 ID。是否可以为特定用户增加主 ID 而无需执行 2 次查询?

【问题讨论】:

  • 我不知道您所说的“为特定用户增加 main-id”是什么意思。 main-id 不是main-ids 表的外键吗?能否提供SHOW CREATE TABLE main_idsSHOW CREATE TABLE user_ids的输出?
  • user-id其实就是外键

标签: mysql mysqli


【解决方案1】:

如果你的意思是这样的:

User ID       Main ID
1             1
1             2
1             3
2             1
2             2
2             3

然后您将需要创建一个 INSERT 触发器,为该用户找到下一个 MainID 并将其存储。

【讨论】:

  • 就是这样的结构。您能指导我了解触发器的外观吗?
  • 好的,要找到下一个 mainid,你可以select max(mainid) from my_table where user_id = ? 并增加它。然后用它来设置当前行的mainid。查看this article,它谈到了必须将其作为 AFTER 触发器。此外,请注意锁定(并发)问题,以及 UPDATE/DELETE 时发生的情况。祝你好运。
猜你喜欢
  • 2016-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 2019-04-26
相关资源
最近更新 更多