螺旋桨 PROPID PropDescription
多对多的关系
图片 图像标识 ImageDescription
Image_has_Prop Prop_PropID Image_ImageID
在我的应用程序中,我需要将数据插入 Image_has_Prop 。用户键入ImageId,然后从显示PropDescription字段的JComboBox中选择Prop。我试图弄清楚如何将描述与它的外键相关联,它甚至可能吗?因为我认为PropDescription可能不是唯一的。下面是我的尝试,我认为如果我诚实,使用mysql数据库就可以了。
INSERT INTO Image_has_Prop
(Image_ImageID, Prop_PropID)
VALUES
(Select ImageID FRom Image where ImageID ='1', SELECT PropId FROM Prop Where PropDescription = 'Tablets');
答案 0 :(得分:1)
INSERT INTO Image_has_Prop (Image_ImageID, Prop_PropID)
SELECT 1, PropID
FROM Prop
WHERE PropDescription = 'Tablets';
您已经知道所需的ImageID,因此无需查询它。如有必要,您可以执行子查询(将“1”更改为“(SELECT ImageID FROM Image WHERE ImageID = 1)”)。这看起来像这样:
INSERT INTO Image_has_Prop (Image_ImageID, Prop_PropID)
SELECT ( SELECT ImageID FROM Image WHERE ImageID = 1 ), PropID
FROM Prop
WHERE PropDescription = 'Tablets';
或者你可以进行交叉连接,因为你从每个表中得到一行:
INSERT INTO Image_has_Prop (Image_ImageID, Prop_PropID)
SELECT i.ImageID, p.PropID
FROM Image i, Prop p
WHERE i.ImageID = 1
AND p.PropDescription = 'Tablets';