【发布时间】:2021-09-22 07:02:05
【问题描述】:
表寄存器
| key | app |
|---|---|
| 123 | insta |
表格收件箱
| EventSourceApplication | EventName | MessageId(primarykey) | MessageText | status |
|---|---|---|---|---|
| appointmentbooked | CAR20124 | SUCCESSFULL | ok |
仅当表寄存器中有特定数据时,我才想将其插入到表收件箱中,在这种情况下 key = 123 & app = insta
我的查询是这样的
INSERT INTO inbox(EventSourceApplication,EventName,MessageId ,MessageText,status)
VALUES ('fb1','appointmentbooked','CAR201246','SUCCESSFULL','nope') ON CONFLICT(MessageId)
DO UPDATE SET EventSourceApplication = EXCLUDED.EventSourceApplication,
EventName = EXCLUDED.EventName,MessageText=EXCLUDED.MessageText
WHERE (SELECT 1 FROM register WHERE key='123' AND app = 'insta')
查询错了吗?因为即使给出了错误的数据,我也可以插入收件箱
【问题讨论】:
-
这能回答你的问题吗? sqlite insert into table select * from
-
我没有在表之间移动数据,我只是检查表寄存器中是否存在数据,然后只在两个表中的列相互依赖的情况下插入表插入