亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下運行后,不知道為什么在倒數第二行報錯,求大佬幫忙看看~

如下運行后,不知道為什么在倒數第二行報錯,求大佬幫忙看看~

慕村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 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號