我在MySQL
脚本中努力寻找需要帮助的解决方案:
这是我的解决方案设计:
qa_post
(在database1中)表中插入值
(database2)max(postid)
获取database1.qa_posts
(我们
刚插入步骤#1)然后qa_postmetas
中插入值
(在database1中),但有一半的值来自database2.test1
到目前为止,这是我的脚本:
INSERT INTO database1.qa_posts (type, categoryid, userid, created, title, content, tags)
(SELECT 'Q_QUEUED', '1', '3', NOW(), f.title, f.img, f.tagsv
FROM database2.test1 f)
LIMIT 1;
INSERT INTO database1.qa_postmetas (postid, title, content)
(select MAX(postid) , 'qa_q_extra', f.URL
from database1.qa_posts b
JOIN database2.test1 f on f.id = b.postid)
LIMIT 1 ;
出了什么问题:
MAX(postid)
来自database2.test1
而不是database1.qa_posts
database1.qa_posts
中插入的逻辑,直到我验证f.URL
中{{}}}不存在为止。如果确实存在,请不要插入答案 0 :(得分:0)
MAX(postid)
- > MAX(b.postid)
在test1.URL
上创建一个独特的索引;然后INSERT将失败。执行INSERT IGNORE
以使失败保持沉默。