插入在另一个表中具有列的表中

时间:2017-04-17 07:00:30

标签: java mysql jdbc

我在java(使用NetBeans)中创建了一个项目,用于在MySQL中的表A中插入数据。

表A具有主键pID,它有11列,但表A必须是表B的外键。当我尝试在MySQL中的表A中插入一行时,它会工作。插入行。

但是,当我尝试在java中插入一行(使用我在MySQL中创建的过程usp_em;它不涉及自动增量列)它不起作用。 我以这种方式调用程序:

  CallableStatement cs = conn.prepareCall("call usp_em(?,?,?,?,?,?,?,?,?)");

所以我不明白为什么我可以直接在MySQL中插入一行,而不是从java中插入一行? MySQL JDBC驱动程序也用作库!

1 个答案:

答案 0 :(得分:1)

您必须将您的程序置于{}之间,例如:

String query = "{call usp_em(?,?,?,?,?,?,?,?,?)}"; 
//--------------^------------------------------^
CallableStatement statement = connection.prepareCall(query);  
statement.setString(1, param1);
statement.setString(2, param2);
statement.setString(3, param3);
...  
statement.execute();