我有两张 table 。
Assets 表
| AID | NAME | | 1234 | item1|
项目表
| BID | ITEM | | | |
问题:只有当 Assets 表中存在我要插入的相同数据时,如何将数据插入到项目表中?或者这有可能吗?假设只有当 Assets 表 AID 值(1234)存在时,我才能插入项目表 BID 值(1234)。 我尝试这样做:
INSERT INTO 'item'('BID') VALUES (1234) WHERE 'item'.BID='assets'.AID
最佳答案
INSERT INTO item (BID) SELECT assets.aid FROM assets WHERE aid = 1234;
如果您可能找到多个匹配项并且不想插入多于一行,请在 SELECT 中使用 DISTINCT。
此外,如果您只想限制数据库中的插入,请使用外键约束。一旦你有了它,你就不需要有条件地插入。如果父表中尚未存在辅助信息,只需插入并让数据库尝试失败。
关于mysql - 如何在MySQL中进行条件插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12924802/