gpt4 book ai didi

与加载数据infile一起使用的mysql触发器

转载 作者:行者123 更新时间:2023-11-29 00:46:30 24 4
gpt4 key购买 nike

每当在“table1”中插入新行时,我一直很难弄清楚如何使“table2”根据“table1”中的值更新其值。根据要插入到表 1 中的内容,触发器可能需要在表 2 中插入新行,或者只更新表 2 中现有行的值。我使用“加载数据文件”和文本文件一次将几千行插入“table1”。如果可能的话,我希望在将整个文件插入“table1”之后而不是在插入每一行之后对表 2 进行更新。任何帮助将不胜感激。下面我已经包含了表 1 中的定义以及我在表 2 中需要的内容。

//Table1
create table table1 (
V1 varchar(5),
V2 varchar(5),
V3 date,
V4 double,
V5 date,
V6 double,
V7 double,
Primary Key (V1,V2,V3,V4,V5) );

//Table2
V1 - Same as table1
V2 - Same as table1
V3 - Same as table1
V4 - Same as table1
V5 date - minimum of V5 in table1
V6 date - maximum of V5 in table1

最佳答案

作为对我自己问题的部分回答,我发现从 MySQL 5.6 版(最新版本)开始,触发器只能配置为在插入每一行后运行。如果正在使用 load data infile,则不能将触发器配置为在插入整个文件之后运行,而不是在每一行之后运行。

希望这会在以后得到扩展。按照目前的语法,当您创建触发器时,您必须包含短语 FOR EACH ROW。如果您省略该短语,则会出现错误,但没有其他选项,例如 FOR EACH 10 ROWSFOR EACH FILE

关于与加载数据infile一起使用的mysql触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10358703/

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