java如何使用过程将值插入数据库
我已经创建了一个名为SET的过程,我正试图通过类似这样的java向它发送值
stmt.executeQuery("call set("+id+",'"+name+"','"+sal+"','"+dept+"')");
作为名称,sal和dept采用字符串格式
但是我犯了一个错误
check the manual that corresponds to your MySQL server version for the right syntax to use near 'set(12,'D','12','cse')' at line 1
# 1 楼答案
“set”是reserve word in Mysql,所以可能是你的问题。一般建议是避免使用保留词,并有意义地命名您的过程(例如setAccountRecrod)
当我成功地用这个名称创建过程时,我必须用转义的名称(带反勾号)调用它:
但正如建议的那样,最好像这样使用
prepareCall
:或者更好:
当我创建了这样的过程时,以上所有内容在最新版本的MariaDb上都起到了作用:
# 2 楼答案
可以通过CallableStatement调用存储过程,如图here
祝你好运