簡體   English   中英

如果不存在,如何在mysql中插入多行

[英]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" 
             ) 

在創建唯一索引pageidtargetpageidmediaid列和使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM