【发布时间】:2023-03-25 21:15:01
【问题描述】:
在我的数据库中创建触发器时遇到问题。 我的谷歌云 sql 中有一个带有数据库(名称:test)的 MySQL 第二代实例。
现在我的数据库中有多个表,我正在尝试使用以下方法在其中一个表中创建触发器:
CREATE TRIGGER date_overlap_insert_start_date
BEFORE INSERT ON driver_operation
FOR EACH ROW
BEGIN
if exists(
select 1
from driver_operation
where nif = NEW.nif
and (NEW.start_date > start_Date and NEW.start_date < end_Date)) then
signal sqlstate '45000' SET MESSAGE_TEXT = 'Overlaps with existing data';
end if;
END;
我得到的错误是: 错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 '' 附近使用正确的语法
有没有人可以帮助我解决这个问题?此触发器是为了防止日期字段重叠。
【问题讨论】: