Quindi so in MySQL è possibile inserire più righe in una query in questo modo:MySQL eliminare più righe in condizioni di una query uniche per ogni riga
INSERT INTO table (col1,col2) VALUES (1,2),(3,4),(5,6)
Vorrei eliminare più righe in modo simile . So che è possibile eliminare più righe in base alle stesse identiche condizioni per ogni riga, cioè
DELETE FROM table WHERE col1='4' and col2='5'
o
DELETE FROM table WHERE col1 IN (1,2,3,4,5)
Tuttavia, quello che se volevo eliminare più righe in una query, con ogni fila avendo un insieme di condizioni uniche per se stesso? Qualcosa di simile sarebbe quello che sto cercando:
DELETE FROM table WHERE (col1,col2) IN (1,2),(3,4),(5,6)
Qualcuno sa di un modo per fare questo? O non è possibile?
@amitkate, perché no? – Pacerier
Si noti che in MySQL 5.6 questo si comporta male come i confronti della tupla finiscono per fare una scansione della tabella. Si dovrebbe preferire "WHERE (col1 = 1 AND col2 = 2) OR (col1 = 3 AND col2 = 4) ..." per prestazioni migliori. Questo è stato risolto in 5.7. – ep4169
Se qualcuno è curioso, questo è il bug corretto in 5.7.3 che i riferimenti @ ep4169: https://bugs.mysql.com/bug.php?id=31188 – Kip