MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 1926|回复: 3
打印 上一主题 下一主题

求教啊!!急

[复制链接]
跳转到指定楼层
1#
发表于 2014-5-29 22:10:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  我创建了2个表,一个订单表order1(oid,pid)和一个订单记录表logsheet(lid,oid,time,state(订单成交状态))
想要在order1上创建触发器:当删除order1一条记录时,在logsheet中相应的oid那个记录状态改为“失败”
CREATE TRIGGER aa
AFTER DELETE on order1
FOR EACH ROW
BEGIN
UPDATE orderlogsheet
SET orderlogsheet.state='失败'
WHERE orderlogsheet.oid=order1.oid;
END


报错说无法识别order1.oid?要怎么解决,求教大神,好急,在实训中。。。。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2014-5-30 10:10:27 | 只看该作者
update后面缺少表名
3#
发表于 2014-5-30 15:45:18 | 只看该作者
你这个是先删除了订单号,再去修改状态吧。你这样订单号都修改了,你下面的update就找不到订单表的订单号了啊
4#
发表于 2014-5-30 16:10:34 | 只看该作者
  1. CREATE TRIGGER t Before delete on `order1` for each row
  2. BEGIN
  3. update logsheet set state='取消' where oid=old.oid;
  4. end;
复制代码


这是我写的。测试下应该是可以的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-5-20 00:01 , Processed in 0.066453 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表