【发布时间】:2019-04-24 16:58:04
【问题描述】:
我想在将记录插入“员工”表之前检查年龄是否大于 18 岁。我正在使用 phpMyAdmin gui 触发工具。但是当我在定义部分键入此脚本时,它会出现以下错误。
BEGIN
IF (DATEDIFF(CURRENT_DATE(),NEW.birth_date) < 6570) THEN
RAISEERROR('Age is less than 18 years!',16,1)
ROLLBACK
END IF
END
请帮我解决这个问题。
【问题讨论】:
-
RAISEERROR和ROLLBACK是 TSQL(Microsoft SQL Server)的东西。你确定你使用的是 MySQL 吗? -
我可以在 mySQL 中使用什么来代替 ROLEBACK 和 RAISERROR?但是,如果没有这些行,它会给出错误
-
因为这些不是标准 SQL 的东西。每个 RDBMS 都有自己的触发器语法。
-
你能给我推荐用于上述目的的正确 mySQL 代码吗?
标签: mysql triggers phpmyadmin database-trigger raiserror