gpt4 book ai didi

mysql - 数据库触发器选择多行并插入到表中

转载 作者:行者123 更新时间:2023-11-29 12:25:07 26 4
gpt4 key购买 nike

了解使用数据库触发器。我试图从一个表中选择 10 条随机记录并将它们全部插入到另一个表中,同时保留最后一个插入 ID。我目前正在使用:

CREATE TRIGGER `Deal White Cards` AFTER INSERT ON `u`
FOR EACH ROW
INSERT INTO dh (cid, uid) VALUES
(
(SELECT `id` FROM `c` WHERE `colour` = 'w' ORDER BY RAND() LIMIT 10),
NEW.id
)

目前我刚刚收到一个错误(子查询返回超过 1 行)

最佳答案

您收到此错误是因为子查询的这一部分返回多行:

SELECT `id` FROM `c` WHERE `colour` = 'w' ORDER BY RAND() LIMIT 10

并且您正尝试将其放入一行。

解决方案是:

CREATE TRIGGER `Deal White Cards` AFTER INSERT ON `u`
FOR EACH ROW
INSERT INTO dh (cid, uid)
SELECT `id`, NEW.id FROM `c` WHERE `colour` = 'w' ORDER BY RAND() LIMIT 10;

希望,这就是你的意思;-)

关于mysql - 数据库触发器选择多行并插入到表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28443746/

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