[英]how to insert multi-row in mysql if it's not exist
我只想同時插入多行。 但我想忽略表中已經存在的每一個。 我只是進行查詢,但是它存在語法問題。 有人可以幫助我解決嗎? 這是我的SQL查詢:
INSERT INTO `targetmediaid` (`pageid`, `targetpageid`, `mediaid`)
SELECT "4578583556", "5633144318", "1544121716250721765_5633144318" UNION
SELECT "4578583556", "5633144318", "1544121605403655131_5633144318" UNION
SELECT "4578583556", "5633144318", "1544121513523117304_5633144318" UNION
SELECT "4578583556", "5633144318", "1544121293112402936_5633144318" UNION
SELECT "4578583556", "5633144318", "1544121119770209275_5633144318" UNION
SELECT "4578583556", "5633144318", "1544121021170710600_5633144318" UNION
SELECT "4578583556", "5633144318", "1544120871450810242_5633144318" UNION
SELECT "4578583556", "5633144318", "1542556083004139499_5633144318" as t
WHERE NOT EXISTS
( SELECT `pageid`, `targetpageid`, `mediaid`
FROM `targetmediaid`
WHERE `mediaid`
IN ("1544121716250721765_5633144318" ,
"1544121605403655131_5633144318" ,
"1544121513523117304_5633144318" ,
"1544121293112402936_5633144318" ,
"1544121119770209275_5633144318" ,
"1544121021170710600_5633144318" ,
"1544120871450810242_5633144318" ,
"1542556083004139499_5633144318"
)
在創建唯一索引pageid
, targetpageid
, mediaid
列和使用INSERT語句忽略。
INSERT IGNORE INTO targetmediaid (pageid, targetpageid, mediaid) VALUES ("4578583556", "5633144318", "1544121716250721765_5633144318"), ("4578583556", "5633144318", "1544121605403655131_5633144318"),("4578583556", "5633144318", "1544121513523117304_5633144318")
.....等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.