2017-04-17 39 views
0

我有一個用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驅動程序也用作庫!

+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(); 
相關問題