java mysql 创建触发器语句使用delimiter报错

在尝试使用Java程序执行MySQL创建触发器的语句时,遇到了delimiter引发的错误。问题出现在sql语句和Java程序的交互中。通过移除delimiter部分,解决了这个问题。该问题出现在jdk8和mysql8.0环境下,虽然在SQLyong或命令行中需要使用DELIMITER,但在Java中并不需要。
摘要由CSDN通过智能技术生成

1.问题描述

    1.sql语句

DELIMITER $$
CREATE TRIGGER organ_sync_tri_update
    AFTER UPDATE
    ON organ FOR EACH ROW 
    tri: BEGIN
    INSERT INTO synctobacksertables(userid,trigger_name,trigger_event,tablename,datastr,created_at,updated_at,state) VALUES(1,'organ_sync_tri_update','update','organ','',NOW(),'1900-01-01 00:00:00',0); 
    END tri $$
   
DELIMITER ;

    2.java程序报错信息

java.sql.SQLSyntaxErrorException: 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 $$
create trigger organ_sync_tri_update
    after update
    on organ ' at line 1
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateExcepti
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值