我有一个在java中创建的项目(使用NetBeans),用于在MySQL中的表A中插入数据。
表A有一个主键pID,它有11列,但是表A的列必须是表B的外键。当我试图在MySQL中的表格A中插入一行时,插入了works.The行。
但是,当我尝试在java中插入一行(使用我在MySQL中创建的过程usp_em;它不涉及自动递增的列)时,它不起作用。我以这种方式调用过程:
CallableStatement cs = conn.prepareCall("call usp_em(?,?,?,?,?,?,?,?,?)");所以我不明白为什么我可以直接在MySQL中插入行,而不能从java中插入行?MySQL JDBC驱动程序也被用作一个库!
发布于 2017-04-17 15:05:41
例如,您必须将您的过程放在{}之间:
String query = "{call usp_em(?,?,?,?,?,?,?,?,?)}";
//--------------^------------------------------^
CallableStatement statement = connection.prepareCall(query);
statement.setString(1, param1);
statement.setString(2, param2);
statement.setString(3, param3);
...
statement.execute(); https://stackoverflow.com/questions/43446767
复制相似问题