gpt4 book ai didi

mysql - 多个 MySQL 查询(无 PHP)

转载 作者:行者123 更新时间:2023-11-29 06:57:46 25 4
gpt4 key购买 nike

我想知道是否可以执行 SQL 查询,然后使用生成的 ID 更新另一个表并继续遍历所有行?

我有这个有效的 SQL 查询,但我需要做的是在将每一行添加到卡片后,用最后生成的 ID 更新 merged.cars_id,以便它们被链接。通常我会用 PHP 来做这件事,但理想情况下,如果可能的话,我想只用 MySQL 来做。

主要查询

INSERT INTO cards (first_contact_date, card_type, property_id, user_id)
SELECT first_contact_date, 'P', property_id, user_id FROM merged

然后我需要匹配的行(大致)

 UPDATE merged SET merged.card_id = LAST_INSERT_ID (FROM ABOVE) into the matching record..

这样的事情是否可能,我该怎么做?

最佳答案

我建议使用 MySQL 触发器来执行此操作 http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

触发器是将在对表的任何记录执行 INSERT 或 DELETE 或 UPDATE 之后或之前执行的函数。

在您的情况下,您需要在 cards 上执行 AFTER INSERT,这只会更新 merged 表。确保其插入后,否则您将无法访问新行的 ID。

代码看起来像这样,假设 cards 表中的 id 字段名为“id”

delimiter |

CREATE TRIGGER updating_merged AFTER INSERT ON cards
FOR EACH ROW BEGIN
UPDATE merged SET card_id = NEW.id;
END;
|
delimiter ;

关于mysql - 多个 MySQL 查询(无 PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697399/

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