#mysql #select
#mysql #выберите
Вопрос:
Я полный новичок, когда дело доходит до MySQL. Я провел некоторый поиск здесь и в других местах, но не смог разработать что-то, что, на мой взгляд, очень простое.
У меня есть почтовая программа, которая импортирует поля / столбцы из базы данных MySQL для массовых электронных писем.
Я хочу импортировать информацию только для пользователей, которые имеют определенное значение в определенном столбце таблицы.
Для импорта всех пользователей я обычно использую:
SELECT firstname, email FROM users
Я попытался внести изменения в:
SELECT firstname, email FROM users WHERE group = "test"
где group
— это имя столбца, с которым я пытаюсь протестировать, а test
— значение, которое я ищу. Я думаю, что это может быть близко, но это приводит к ошибке.
Кто-нибудь может меня просветить?
Комментарии:
1. Что ж… То, что вы описали, должно сработать. Какую ошибку вы получаете? Является ли столбец
group
вusers
таблице? Имеет ли он тот же тип данных (CHAR), что и"test"
?2. В следующий раз опубликуйте сообщение об ошибке в своем вопросе
3. Осторожно используйте двойные кавычки для строковых литералов. Спецификация ANSI использует двойные кавычки для идентификаторов. dev.mysql.com/doc/refman/5.1/en /…
4. Спасибо за информацию. Конкретного сообщения об ошибке не было, вероятно, потому, что программное обеспечение, которое я использую для массовых электронных писем, не поддерживает его.
Ответ №1:
Я думаю, ваша проблема в том, что group является ключевым словом в MySQL. Вы можете использовать
SELECT firstname, email FROM users WHERE `group` = "test"
Используйте обратные галочки, чтобы заключать имена полей в кавычки.
Комментарии:
1. Согласен; в идеале, просто используйте обратные метки, чтобы разграничить все имена полей, как само собой разумеющееся. Вы сделаете их более различимыми в своих запросах и избежите когда-либо подобных ошибок, некоторые из которых теоретически могут не вызывать синтаксическую ошибку .