我努力在MySQL
脚本中找到需要帮助的解决方案:
这是我的解决方案设计:
将值插入来自test1的qa_post
(位于database1中)表中
(数据库2)
从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
之前不插入database2.test1
的逻辑。如果存在,则不进行任何插入 最佳答案
MAX(postid)
-> MAX(b.postid)
在test1.URL
上创建UNIQUE索引;则INSERT将失败。进行INSERT IGNORE
,以使故障消失。
关于mysql - MySQL查询获取最后一个ID,如果不存在则插入值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28778731/