我在phpMyAdmin中使用Mysql,我必須從tableA中刪除一個條目,如果我插入了具有相同主鍵的行。我想在tableA的觸發器中執行該操作前插入 對於防爆, 如果表A中包含在Mysql中修改表從它自己的觸發器 - PhpMyAdmin
1 Hai Hello
這裏1是主鍵
現在,如果我插入一行1 Bye Hello
則觸發BEFORE INSERT將刪除舊的條目,然後新行(第2個)將被插入。但是Mysql限制了無法更新爲同一個表定義的觸發器中的表。
它給人的錯誤
#1442 - 因爲它已經使用由調用 此存儲函數/觸發語句存儲 功能/觸發無法更新表「表A」。
所以我改變了我的方式,我從tableA的BEFORE INSERT調用了一個過程,並且在那個過程中我做了我認爲在觸發器中做的任務。但不幸的是,我得到了同樣的錯誤。 在觸發BEFORE INSERT我只是調用的過程作爲
CALL proce1(new.Reg_No);
在過程我已經做到了這一點
DECLARE toup integer;
select count(*) into toup from tableA where Reg_No=reg;/*Here Reg_No is primary key */
if toup > 0 then
delete from tableA where Reg_No=reg;
end if;
需要一些其他的想法來實現這一目標。幫我.....
你爲什麼要刪除?你想要替換舊數據還是真的刪除記錄? – Jaylen 2014-10-29 18:11:57
@Mike我想刪除舊記錄並插入新記錄。我只是從.csv文件插入新的值這裏舊值不能更新,所以我想在插入前刪除它 – user3784251 2014-10-29 18:15:11