gpt4 book ai didi

MySQL 触发器 : conditional insert syntax error

转载 作者:太空宇宙 更新时间:2023-11-03 11:45:26 24 4
gpt4 key购买 nike

我有两个表:PersonStudent。我正在尝试编写一个触发器,在插入一个新人后,如果该人小于 18 岁,则将其插入到学生表中。

这是触发器的代码:

CREATE TRIGGER test_trigger
AFTER INSERT
ON Person
FOR EACH ROW
BEGIN
insert into `Student`(TestValue, ID)
values("Test", select Person.ID from Person where Person.DateOfBirth > curdate() - interval 18 year);
END

但我不断得到

You have an error in your SQL syntax... near select Person.ID from...interval 18 year.

错误,不知道是条件插入的问题,还是datetime操作的问题,还是其他原因。

最佳答案

您想像下面那样使用 insert into ... select from 构造,不能将 insert into .. values 构造与

混合使用
insert into `Student`(TestValue, ID) 
select "Test", Person.ID
from Person
where Person.DateOfBirth > curdate() - interval 18 year;

关于MySQL 触发器 : conditional insert syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39215986/

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