易截截图软件、单文件、免安装、纯绿色、仅160KB

mysql delete触发器问题

我想写一个delete 触发器,如:当删除id=1 这条记录的时候提示不让删除,并回滚事务
一下是我写的,总是报语法错误,帮帮我呵呵

SQL code:
CREATE TABLE tb(id INT,NAME VARCHAR(10))
INSERT INTO tb VALUES(1,'张三'),(2,'李四'),(3,'王五')

DELIMITER$$
CREATE TRIGGER `trTemplate` BEFORE DELETE ON `tb`
FOR EACH ROW BEGIN
IF old.id=1 THEN
ROLLBACK;
END IF;
END$$

DELIMITER;

DELETE from tb WHERE id=1

DROP TRIGGER trTemplate

总是报语法错误

把出错信息一起贴出来大家看一下。

SQL code:
错误码: 1422
Explicit or implicit commit is not allowed in stored function or trigger.

Execution Time : 00:00:00:000
Transfer Time : 00:00:00:000
Total Time : 00:00:00:000

错误码: 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 'DELIMITER' at line 1


引用
总是报语法错误

把出错信息一起贴出来大家看一下。

mysql 可以给触发器显式或隐式方式开始或结束事务的语句吗?
帮我写个这种需求的触发器呵,谢了

触发器中不能有 commit; rollback 这种事务语句。类似功能的实现可以参考下贴。

MySQL 中如何在触发器里中断记录的插入或更新?


相关问答:

介绍Oracle和mysql的书 - Oracle / 非技术区

我对SQL SERVER和ACCESS比较熟,所以数据库的通用基础东西可以说都掌握的差不多了,我现在想要的就是以上两数据库的独特之处的介绍和应用介绍。
另外书最好对应最新版本 oracle是11g吧 10的也行;mysql是5.1吧
谢 ......

eclipse连接mysql数据库 - Java / Eclipse

先上错误
无法联接数据库
java.sql.SQLException: Before start of result set
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910)
at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java: ......

怎么在eclipse下向mysql插入变量啊 - Java / Java相关

String SQL="insert into 学生信息表 values(StudentNumber,StudentName,StudentAge)";其中StudentNumber,StudentName,StudentAge都是变量。这样写不对……到底该咋写啊

万分感谢!

String SQL=&q ......

mysql连接被频繁中断

100215 9:55:47 [Warning] Aborted connection 247 to db: 'gases' user: 'root' host: 'localhost' (Got an error reading communication packets)
100215 9:55:47 [Warning] Aborted connection 257 to db: 'ga ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号