作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两张 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/
我是一名优秀的程序员,十分优秀!