2011-04-20 170 views
0

当谈到MySQL时,我是完整的新手。我在这里和其他地方搜索了一些东西,但一直未能找到我认为非常简单的东西。根据单列中的值选择列

我有一个电子邮件程序,从MySQL数据库导入大量电子邮件的字段/列。

我只想为表中特定列中具有特定值的用户导入信息。

要导入我通常会使用所有用户:

SELECT firstname, email FROM users 

我曾经尝试这样做修改到:

SELECT firstname, email FROM users WHERE group = "test" 

其中group是列的,我想测试针对的名字,和test是我正在寻找的价值。我认为这可能是接近的,但它带来了一个错误。

有人能让我直吗?

+0

那么...你所描述的*应该*工作。你得到的错误是什么?用户表中的列是否是组?它与''test“'具有相同的数据类型(CHAR)吗? – 2011-04-20 23:19:54

+0

下次在您的问题中发布错误消息 – Wes 2011-04-20 23:25:03

+1

小心使用双引号字符串。 ANSI规范使用双引号标识符。 http://dev.mysql.com/doc/refman/5.1/en/server-sql-mode.html#sqlmode_ansi_quotes – RichardTheKiwi 2011-04-20 23:25:56

回答

4

我认为你的问题是该组是MySQL中的关键字。您可以使用

SELECT firstname, email FROM users WHERE `group` = "test" 

使用返回嘀嗒来引用字段名称。

+1

同意;理想情况下,只需使用反引号来限定_all_字段名称。你会让它们在你的查询中更具特色,并避免遇到像这样的错误,其中有些可能在理论上不会导致语法错误。 – 2011-04-20 23:37:09

+0

感谢你们两位的帮助。这工作正常。缺口 – Nick 2011-04-20 23:50:01

相关问题