delimiter //
CREATE TRIGGER `range` BEFORE INSERT ON touristCompany.hotels
FOR EACH ROW
BEGIN
IF NEW.star >5 THEN
SET NEW.star = 5;
ELSEIF NEW.star < 1 THEN
SET NEW.star = 1;
END IF;
END;//
delimiter ;
Run Code Online (Sandbox Code Playgroud)
您需要在发生插入操作的同一架构/数据库中创建触发器。从您的触发器定义很明显,触发器操作将在touristCompany数据库下。确保您在同一数据库下创建触发器。
修改您的触发器定义,如下所示
delimiter //
CREATE TRIGGER `touristCompany`.`range`
BEFORE INSERT ON `touristCompany`.`hotels`
FOR EACH ROW
BEGIN
IF NEW.star > 5 THEN
SET NEW.star = 5;
ELSEIF NEW.star < 1 THEN
SET NEW.star = 1;
END IF;
END;//
delimiter ;
Run Code Online (Sandbox Code Playgroud)
(OR) 在创建触发器之前选择数据库
USE `touristCompany`;
delimiter //
CREATE TRIGGER `range` ...
<rest of code here>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7329 次 |
| 最近记录: |