栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在mysql5.5上通过JDBC创建触发器时出错

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在mysql5.5上通过JDBC创建触发器时出错

不要在JDBC和MySQL中使用定界符。分隔符仅由MySQL控制台使用,以便它可以告知您键入的触发器,存储过程等何时结束。在JDBC中,您将整个SQL字符串放在一起,然后将其发送到数据库。因为您可以控制何时将SQL发送到数据库,所以不需要使用定界符。

我从代码中删除了这两

DELIMITER
行和
%%
定界符的使用,并将
DROP TRIGGER
命令分别发送到数据库。我剩下的代码如下:

con.createStatement().execute("DROP TRIGGER IF EXISTS `insert_associated_inquiry`");triggerBuilder.append(" CREATE TRIGGER insert_associated_inquiry BEFORE UPDATE ON inquiry ");triggerBuilder.append(" FOR EACH ROW Begin ");triggerBuilder.append(" insert into associated_inquiries(inquiry_id , subject , content , inquiry_date , preferred_date ) " );triggerBuilder.append("values");        triggerBuilder.append(" ( " ); triggerBuilder.append(" OLD.id , "); triggerBuilder.append(" OLD.subject , " ); triggerBuilder.append(" OLD.content , " ); triggerBuilder.append(" OLD.created_on , " ); triggerBuilder.append(" OLD.preffered_date " );        triggerBuilder.append(" ) ; ");triggerBuilder.append(" END ");con.createStatement().execute(triggerBuilder.toString());

该代码似乎有效,因为无论触发器是否存在,我都可以无错误地运行此代码。如果触发器先前不存在,则会创建它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428166.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号