简体   繁体   English

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

[英]how to insert multi-row in mysql if it's not exist

I just want to insert multi-row at same time. 我只想同时插入多行。 but I want to ignore each one that already in table. 但我想忽略表中已经存在的每一个。 I just make query but It had a syntax problem. 我只是进行查询,但是它存在语法问题。 Any one can help me to solve it? 有人可以帮助我解决吗? here is my sql query: 这是我的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" 
             ) 

Create a unique index on pageid , targetpageid , mediaid columns and use INSERT IGNORE statement. 在创建唯一索引pageidtargetpageidmediaid列和使用INSERT语句忽略。
INSERT IGNORE INTO targetmediaid (pageid, targetpageid, mediaid) VALUES ("4578583556", "5633144318", "1544121716250721765_5633144318"), ("4578583556", "5633144318", "1544121605403655131_5633144318"),("4578583556", "5633144318", "1544121513523117304_5633144318") ..... and so on. 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