2015-12-08 2 views
0

Я прочитал несколько сообщений о похожих проблемах, но все они были проблемами в коде, в то время как мои даже встречаются в консоли продолжения mysql.MYSQL IN возвращает только первую строку

мой запрос: SELECT * FROM users WHERE id IN ("1,2") ORDER BY id DESC

Моя таблица пользователей в настоящее время состоит из двух пользователей - один с идентификатором 1, а другой с идентификатором 2, так как на самом деле должны быть возвращены. К сожалению, только первая строка получает возвращается

+4

SELECT * FROM пользователей, где идентификатора (1,2) ORDER BY DESC ид попробовать что –

ответ

3

Оператор IN не анализирует строки, оставьте из двойных кавычек:

SELECT * FROM users WHERE id IN (1,2) ORDER BY id DESC 
+2

И просто добавьте немного больше объяснений: причина, по которой он ** ** совпадает с идентификатором пользователя = 1, заключается в том, что MySQL анализирует строку «1,2» в число «1» (т.е. игнорирует запятую и все после Это). – Kryten

Смежные вопросы