【发布时间】:2015-10-24 05:11:46
【问题描述】:
我正在尝试从 JTextField 中获取 JList 上每个项目的 matricule 和 stage_ID 并将它们插入到 employé_stage 表中仅包含两列 stage_ID 和 matricule 作为外键,分别引用表 stage 和 employés。我希望将 JList 中的所有记录插入到具有相同 stage_ID 的表 employé_stage 我正在使用此代码返回 cannot add or update child row : 外部约束失败
private void addstageActionPerformed(java.awt.event.ActionEvent evt){
try{
for (int i = 0; i < stagelist.getModel().getSize(); i++) {
String item = stagelist.getModel().getElementAt(i).toString();
String[] items =item.split(" ");
if(items.length >= 2){
String sql ="INSERT INTO stage (nature,datedebs,datefs,durée_S,commentaire,stage_ID) values(?,?,?,?,?,?) ";
String sql2="INSERT INTO employé_stage (matricule) Select matricule from employés where nom='"+items[0]+"' and prénom='"+items[1]+"' ";
String sql3="INSERT INTO employé_stage (stage_ID) select LAST(stage_ID)from stage ";
ps2 = conn.prepareStatement(sql2);
ps3 = conn.prepareStatement(sql3);
ps = conn.prepareStatement(sql);
ps.setString(6,stageID.getText());
ps.execute();
ps2.execute();
ps3.execute();
}
}
} catch(Exception ev){
JOptionPane.showMessageDialog(null, ev);
}
miseajour_tab();
}
【问题讨论】:
-
您能否发布完整的错误消息(我在
foreign之后缺少key),以及您的CREATE TABLE好吗?否则,我只能猜测ps3忘记为employee_stage中的NOT NULLmatricule列添加一个值.. -
您希望
sql2和sql3创建一两条记录吗? -
@schtever 一条记录
标签: java mysql sql insert resultset