为了账号安全,请及时绑定邮箱和手机立即绑定

如下运行后,不知道为什么在倒数第二行报错,求大佬帮忙看看~

如下运行后,不知道为什么在倒数第二行报错,求大佬帮忙看看~

慕村9548890 2022-05-05 11:07:27
DROP TABLE IF EXISTS `Software`;CREATE TABLE IF NOT EXISTS `Game` (`Name` varchar(255) default NULL,`Price` varchar(200) default NULL,`Language` varchar(200) default NULL,`Genre` varchar(200) default NULL,`SnipShot` varchar(200) default NULL,`Website` varchar(200) default NULL,`PublishDate` varchar(200) default NULL,PRIMARY KEY (`Name`));CREATE TABLE IF NOT EXISTS `Software` (`t_Name` varchar(255) default NULL,`OS` varchar(200) default NULL,`DirectX` varchar(200) default NULL,`AdobeFlashVersion` varchar(200) default NULL,`WebBrowser` varchar(200) default NULL,FOREIGN KEY (t_Name) REFERENCES Game(Name));create trigger t_gameafter insert on Gamefor each rowbegininsert into Software(`t_Name`) values (:Game.name)end;我想实现的是如果game 里面新加了一个name的话,Software表格也会新启一行,然后Software.t_name= game.name这个怎么实现?急需.....
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

create trigger t_game on Game
instead of insert
as
declare @myname varchar
begin
select @myname=t_name from inserted
insert into Software(`t_Name`) values (@myname)
insert into game select * from inserted
end;

一定要用instead of ,否则都是insert完成,并且所有约束都检查完成以后才执行,外键约束还是失败的。



查看完整回答
反对 回复 2022-05-09
  • 1 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信