使用jdbc创建MySQL的trigger出现错误

如下所示,我用jdbc来创建一个MySQL触发器,自己在navicat里面实验可以成功,但是程序跑起来就会提示创建触发器的语句有语法错误。求指教
scaladefcreatTable(tbname:String):Unit={
valconn:Connection=getConn
if(conn!=null){
valstmt:Statement=conn.createStatement
valctbsql:String="createtableifnotexists"+tbname+"("+
"idbigint(20)notnullprimarykey,"+
"namevarchar(255)notnull,"+
"pricedouble,"+
"pricechangetodaydouble,"+
"categoryvarchar(20));"
valtbtrigger="droptriggerifexists"+tbname+"pricechange"+
"createtrigger"+tbname+"pricechangebeforeupdateon"+tbname+"foreachrow"+
"begin"+
"setnew.pricechangetoday=new.price-old.price;"+
"end"
stmt.execute(ctbsql)
stmt.execute(tbtrigger)
}
}
红糖糍粑
浏览 274回答 2
2回答

阿晨1998

试试这样呢stmt.executeUpdate(ctbsql);stmt.executeUpdate(tbtrigger);另外确认当前连接mysql的账号是否有create、drop等权限。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript