【发布时间】:2013-11-21 10:21:55
【问题描述】:
我有 2 张桌子:
- ORDERS - 存储我购物车中的所有信息
- 项目 - 商店 ID |码 |产品 |价格 |销售价格 |库存
我想出了下面的触发器,当订单以“订单”的形式插入数据库时,我希望它在“项目表”中将“库存”数量更新为 -1。
CREATE TRIGGER `order_updater` AFTER INSERT ON `orders`
FOR EACH ROW UPDATE items
SET inventory = inventory - 1
WHERE id = new.id
END;
当我尝试将其添加到 phpMyAdmin 的触发器中时,我不断收到此消息:
处理您的请求时出现一个或多个错误:
以下查询失败:“CREATE TRIGGER orer_update BEFORE INSERT ON items FOR EACH ROW CREATE TRIGGER order_updater AFTER INSERT ON orders FOR EACH ROW UPDATE items SET inventory = inventory - 1 WHERE id = new .id END;"
MySQL 说:#1303 - Can't create a TRIGGER from within another stored routine.
- 可以用这个触发器完成吗?
- 触发器会更新特定项目还是所有项目?
- 触发器可以添加到产品.htm页面还是需要在phpMyAdmin中?
我不确定代码是否完全正确,因为我是新手,任何指针都将不胜感激。
*更新: phpMyAdmin :我从页面上复制了这个:版本信息:4.0.8,最新稳定版本:4.0.9*
【问题讨论】:
标签: mysql triggers phpmyadmin