欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL觸發(fā)器 Update觸發(fā)Insert失敗

 更新時(shí)間:2016年07月07日 17:02:59   作者:magic_forever  
這篇文章主要介紹了MySQL觸發(fā)器 Update觸發(fā)Insert失敗 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

今天工作需要,想要實(shí)現(xiàn)將僅對(duì)狀態(tài)更新的表進(jìn)行歷史記錄顯示,于是考慮在原表中建立觸發(fā)器,將更新的內(nèi)容同時(shí)寫(xiě)入另一張表

于是進(jìn)行測(cè)試

--建立測(cè)試表CREATE TABLE `triggletest_triggle` (
`id` INT(11) NOT NULL,
`name` VARCHAR(5) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB 
--建立目標(biāo)表
CREATE TABLE `triggletest` (
`seq` INT(11) NOT NULL,
`id` INT(11) NOT NULL,
`name` VARCHAR(5) NULL DEFAULT NULL,
PRIMARY KEY (`seq`),
INDEX `id` (`id`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB; 
---寫(xiě)入測(cè)試數(shù)據(jù)
INSERT INTO `triggletest_triggle` VALUES(1,'A'); 
--建立觸發(fā)器
DROP TRIGGER if EXISTS test1
CREATE TRIGGER test1 
AFTER UPDATE ON triggletest_triggle
FOR EACH ROW
BEGIN
INSERT INTO triggletest(id) values (new.id);
END 

執(zhí)行觸發(fā)器語(yǔ)句,報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容如下:

/* SQL錯(cuò)誤(1064):You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TRIGGER test1 
AFTER UPDATE ON triggletest_triggle
FOR EACH ROW
BEGIN ' at line 2 */
---最終實(shí)現(xiàn)代碼
DROP TRIGGER if EXISTS test1;
CREATE TRIGGER test1 AFTER UPDATE ON test.triggletest_triggle FOR EACH ROW
BEGIN
INSERT INTO triggletest(id,name) values (new.id,new.name);
END; 

分析,由于訪問(wèn)工具HediSQL,導(dǎo)致無(wú)法正常創(chuàng)建觸發(fā)器,相同語(yǔ)句,在HediSQL中執(zhí)行,報(bào)錯(cuò),使用shell調(diào)用mysql,直接執(zhí)行程序,成功。

相關(guān)文章

最新評(píng)論