Ich ist die folgende in MySQL/PHPMySQL + PHP WHERE IN (Liste von Zahlen) nur für die erste Zahl in der Liste arbeiten
SELECT * FROM `uc_posts` WHERE `postinguser` IN (SELECT `following` FROM `uc_users` WHERE `id` = 1) ORDER BY id DESC LIMIT 20
Der Wert following
läuft 1,2
jedoch für einige Grund ist nur die Zeilen anzeigt, wo die postinguser
ist 1
Um zu bestätigen, wenn ich laufe:
(SELECT `following` FROM `uc_users` WHERE `id` = 1)
Es die Zelle following
mit dem Inhalt 1,2
kehrt Was seltsam ist, wenn ich laufe dies:
SELECT * FROM `uc_posts` WHERE `postinguser` IN (1,2) ORDER BY id DESC LIMIT 20
Es das gewünschte Ergebnis mit Reihen mit beiden postinguser
1
und 2
Die zurück Die Spalte following
ist als varchar(255) utf8_general_ci
Können Sie sehen, was hier falsch ist?
Danke.
'WHERE IN' stimmt genau überein, analysiert das Ergebnis nicht als eine durch Kommas getrennte Liste. – Barmar