gpt4 book ai didi

mysql - sql触发器更新不同表的列

转载 作者:行者123 更新时间:2023-11-29 21:10:31 26 4
gpt4 key购买 nike

您好,我想实现一个触发器,我有两个表:

在表1上插入

*Table1**
Name File
a abc
b efg

**Table2**
Name File
a abc
b efg

更新

**Table1**
Name File
a file1
b file2


**Table2**
Name File
a abc,file1
b efg,file2

我想在 Table1 上编写一个触发器,它将在每次插入时将列“名称”"file"值复制到表 2,并且在更新表 1 中特定名称值的列文件时,它将更新"file"列值表2中以逗号分隔的形式。

我能够成功创建插入触发器,但以下更新触发器会更新两个表中常见的所有行:

CREATE TRIGGER trigger2 AFTER UPDATE ON Table1
FOR EACH ROW
UPDATE Table2 INNER JOIN
upload
ON (Table2.Name = Table1.Name)
SET Table2.a_file = CONCAT(Table2.a_file, ","),
Table2.a_file = CONCAT(Table2.a_file, "Table1.a_file") ;

CONCAT() 函数也无法正常工作。

最佳答案

这个更新触发器怎么样:

CREATE TRIGGER trigger2 AFTER UPDATE ON Table1
FOR EACH ROW
UPDATE Table2 SET a_file = CONCAT(a_file, ",", NEW.a_file) WHERE Name = NEW.Name;

关于mysql - sql触发器更新不同表的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36402946/

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