gpt4 book ai didi

Mysql 触发器,从新插入设置 id

转载 作者:行者123 更新时间:2023-11-30 22:32:03 25 4
gpt4 key购买 nike

我需要一些帮助来创建触发器(我认为这是解决方案)假设我有 2 个表:

人物

+----+------+---------+
| id | name | stat_id |
+----+------+---------+
| | | |
+----+------+---------+

统计

+----+------+---------+
| id | ... | char_id |
+----+------+---------+
| | | |
+----+------+---------+

所以...在我在字符表中插入新内容后,我创建了一个触发器在统计表中创建一个新行:

TRIGGER `new_stats_after_charcreation` AFTER INSERT ON `character` FOR EACH `ROW INSERT INTO stats (char_id) VALUES (new.id)`

这样,当我注册一个新角色时,触发器将在统计表中插入一个新行,其中角色 ID 为“char_id”

但问题是,我该怎么做才能用触发器生成的新 ID 更新字符表中的“stat_id”字段?

希望你们理解,抱歉我的英语不好!非常感谢!

最佳答案

正如评论者所指出的,您不需要它。 1:1 关系可以通过两个表的融合来代替。但为了完整起见,这里有两个基本提示。

  1. 使用 BEFORE INSERT 触发器,而不是 AFTER,因此您可以在写入数据之前操作外部表 ID。

  2. 使用 LAST_INSERTED_ID() 获取并使用外部表中插入的 ID(阅读 Get the latest inserted id in a trigger? 了解更多信息)

关于Mysql 触发器,从新插入设置 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33619357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com