gpt4 book ai didi

mysql 将值从一个表复制到另一个表给我错误

转载 作者:行者123 更新时间:2023-11-29 23:30:09 25 4
gpt4 key购买 nike

我试图在表 1 插入数据之前使用触发器将值从表 2 复制到表 1,我遇到的问题是,每当我将新行插入表 1 时,我都会收到一条错误消息,指出该列可以不能为空,在我的例子中,该列是颜色。仅供引用,表 1 和表 2 都有一个名为“颜色”的列

这是我的代码

CREATE 
TRIGGER `some_trigger` BEFORE INSERT ON `table1`
FOR EACH ROW BEGIN
SET new.color =
(
SELECT table2.color
FROM table1
JOIN table2 ON table1.aforeignkeycolumn = table2.aprimarykeycolumn
WHERE table1.id = new.id --this should be the new row
);
END;

如果我有这个,它会起作用,但我需要获取即将将其插入表 1 的行的 id

CREATE 
TRIGGER `some_trigger` BEFORE INSERT ON `table1`
FOR EACH ROW BEGIN
SET new.color =
(
SELECT table2.color
FROM table1
JOIN table2 ON table1.aforeignkeycolumn = table2.aprimarykeycolumn
WHERE table1.id = 10
);
END;

感谢任何帮助

最佳答案

如何执行插入后触发器?

CREATE  TRIGGER `some_trigger` AFTER INSERT ON `table1`
FOR EACH ROW BEGIN
SELECT new.color := table2.color
FROM table1 JOIN
table2
ON table1.aforeignkeycolumn = table2.aprimarykeycolumn
WHERE table1.id = new.id --this should be the new row
END;

关于mysql 将值从一个表复制到另一个表给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26643913/

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