2011-04-20 198 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