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/36802677/

相关文章:

php - PDO::FETCH_ASSOC 返回 false

php - 在 laravel 中编辑帖子时显示类别

mysql - 只获取所有项目的小计

mysql - 在 MySQL/InnoDB 中模拟自增

sql - 在 SNOWFLAKE SQL 中选择和聚合不同 id 的变量

php - php中mysql中两个日期之间的总和

php - DOM文档/DOMXPath

mysql - Docker-Compose 服务不通信

mysql - NOT FOUND Mysql 中更新过程的错误处理

java - jOOQ 表模板,用于查询的动态表名