sql >> Database >  >> RDS >> Mysql

waarden krijgen die niet in de mysql-tabel voorkomen

Maak een tijdelijke tabel met uw sleutels:

CREATE TEMPORARY TABLE mykeys (`key` INT);
INSERT INTO mykeys VALUES (1),(2),(3),(4),(5);

Gebruik dan NOT IN:

SELECT `key`
FROM mykeys
WHERE `key` NOT IN (SELECT `key` FROM mytable)

Laat tot slot je TEMP-tabel vallen als dat moet:

DROP TABLE mykeys

BEWERKEN :Toegevoegd SQLFiddle .

Als u PostgreSQL gebruikt dat EXCEPT ondersteunt telefoniste , en ook VALUES statement kan worden gebruikt om een ​​rijset te maken van een zoeklijst. Er is een andere, eenvoudigere manier om dit te doen zonder tijdelijke tabellen (SQLFiddle ):

VALUES (1),(2),(3),(4),(5)
EXCEPT
SELECT key FROM mytable


  1. Utf8mb4-gegevens manipuleren vanuit MySQL met PHP

  2. ORA-30926:kan geen stabiele set rijen in de brontabellen krijgen

  3. PHP MySQL krijgt locaties in de straal van de locatie van de gebruiker van GPS

  4. hoe het eerste en laatste record uit de mysql-tabel te vinden