INSERT INTO包含外键的表

时间:2014-04-16 03:06:02

标签: c# mysql sql winforms

我正在尝试将值插入名为Division的表中,并且表id_dep中有一个名为Departement的外键。问题是由于外键,我无法将值插入Division表。我搜索了互联网,发现我不能直接将值插入外键,而是通过Select。我做了一些更改,我的命令看起来像这样:

string req = "INSERT INTO DIVISION VALUES(SELECT id_dep FROM Departement WHERE libelle='"+dep+"','" + id + "','" + lib + "')";

现在我遇到了语法错误的问题。如何解决?

1 个答案:

答案 0 :(得分:3)

使用INSERT INTO...SELECT语法,

INSERT INTO DIVISION (colName, colName2, colName3)
SELECT id_dep, @id, @lib
FROM Departement
WHERE libelle = @dep

始终参数化查询以避免sql注入。