这是我的代码1 FK
。
这是列
([PK]charityRoomID, charityRoomStatus, [FK]charityWardID)
INSERT INTO tbl_addcharityroom1 (charityRoomStatus, charityWardID)
VALUES ('"+jTextField10aw.getText() +"', (
select charityWardID
from tbl_addcharityward
where diseaseCategory='"+ jComboBox1.getSelectedItem().toString() +"'))";
现在,我添加了一个新列RateID
),这是另一个FK
,但我不知道多个FK
的正确语句。这是列
([PK]charityWardID, charityRoomStatus, [FK]charityWardID, [FK]rateID)
我正在使用netbeans& mySQL的
答案 0 :(得分:0)
FK只是数据库列的约束。它基本上意味着您的列内容必须在插入数据时映射到指定的列。
因此,如果您的insert语句指定了Rate表的ID列中存在的值,那么一切都将是正确的。否则,将发生异常。
基本上你只需要这样做,用你的Rate表中实际存在的Id替换“yourRateIdValue”:
"INSERT INTO tbl_addcharityroom1 (charityRoomStatus, charityWardID, rateID)
VALUES ('" + jTextField10aw.getText() + "', (
select charityWardID
from tbl_addcharityward
where diseaseCategory='"+ jComboBox1.getSelectedItem().toString() +"'), yourRateIdValue)";
你也可以用select语句替换“yourRateIdValue”,就像你对“charityWardID”列所做的那样