filtern dort eine Tabelle diese Daten haben, istwie nicht exist id einer Tabelle
select * from t;
+----+------+
| id | name |
+----+------+
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
| 5 | e |
| 6 | f |
+----+------+
jetzt ich eine ID-Liste haben, möchte ich die in dieser Tabelle ist nicht vorhanden, ist die Wirkung Ich möchte wie diese
select non_exist(id) from t where id in (1,2,5,7,10)
7
10
Also, wenn mysql
haben einige praktische Funktion diese Anforderung unterstützen könnte?
Jetzt ist meine Art und Weise ist
cat all_id
1
2
5
7
10
cat all_id | tr '\n' ','|awk '{gsub(/,$/,"");print "mysql -uroot -p123456 test -e '\''select id from t where id in ("$0");'\''"}'|bash>exist_id
cat exist_id
id
1
2
5
comm <(sort all_id) <(sort exist_id) -2 -3
10
7
Mögliche Duplikat [MySQL erhalten IDs aus der Tabelle fehlt] (http://stackoverflow.com/questions/12325132/mysql -get-missing-ids-from-table) – ogres
Warum sollte so etwas benötigt werden? Was ist das Problem, das du hast? – Mjh
@Mjh z.B. Marktabteilung Kollegen geben Ihnen eine Excel-Datei, die viele Kunden mobile hat, und Ihnen sagen, senden Sie eine Art Gutschein für diese Kunden, also möchte ich filtern, welches Handy ist nicht vorhanden in Benutzertabelle, so könnte ihnen sagen, diese Handys zu korrigieren, vielleicht eingeben die falsche Nummer. – zhuguowei