php - 如何使用触发器在 SQL 中递增?

标签 php mysql sql

所以我有一张表,其中包含菜系列表以及提供该菜系的餐厅总数。 (例如意大利语 | 7)

我正在尝试在 phpMyAdmin 中设置一个触发器,每次将新餐厅添加到数据库时,该触发器都会增加总数。这是我目前所拥有的:

CREATE TRIGGER UpdateStats AFTER INSERT ON Restaurant
BEGIN
    UPDATE RestaurantStats SET TotalRestaurants = TotalRestaurants + 1 WHERE Cusine = NEW.cusine;
END;

但我不断收到一条错误消息,它告诉我它与我的语法有关。我哪里错了?我很好地遵循了我看到的示例。

这是错误信息:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BEGIN UPDATE RestaurantStats SET TotalRestaurants = TotalRestaurants + 1 WHERE' at line 2

最佳答案

是否必须每一行

CREATE TRIGGER UpdateStats 
AFTER INSERT ON Restaurant 
FOR EACH ROW 
    UPDATE RestaurantStats SET TotalRestaurants = TotalRestaurants + 1 WHERE Cusine = NEW.cusine;

关于php - 如何使用触发器在 SQL 中递增?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36802268/

相关文章:

MYSQL(WHERE - IF - SELECT/IN 语句)

sql - 如何修复golang sql字符串转换扫描错误

mysql - Mysql 中 count() 的不等式

sql - Oracle SQL 查询按不同表中的列值排序

php - 即使安装了Laravel-homestead也找不到Mysql

php - 在单个警报中显示多个文件输入的所有文件名

php - 在 MySQL 中使用 LIMIT 根据列值限制结果 (PHP/MySQL)

php - 我如何存储 PDO 对象

mysql - 在 VB.net 中读取和解析大型分隔文本文件

php - ZF2 : run MySQL command "SET SQL_BIG_SELECTS=1" before executing SQL-statements