不工作我有一個SQL查詢:SQL SELECT查詢在MySQL
SELECT * FROM presentations_db.presenters_tbl WHERE e-mail LIKE '%@%';
它似乎沒有工作,我不知道爲什麼。如果我刪除它的WHERE部分,但包含所有記錄。我只想要有電子郵件地址的記錄。我正在使用mysql工作臺。電子郵件字段是一個VARCHAR(45)。它看起來很簡單,但不是......沒有反饋或錯誤消息。結果列表甚至沒有打開。
不工作我有一個SQL查詢:SQL SELECT查詢在MySQL
SELECT * FROM presentations_db.presenters_tbl WHERE e-mail LIKE '%@%';
它似乎沒有工作,我不知道爲什麼。如果我刪除它的WHERE部分,但包含所有記錄。我只想要有電子郵件地址的記錄。我正在使用mysql工作臺。電子郵件字段是一個VARCHAR(45)。它看起來很簡單,但不是......沒有反饋或錯誤消息。結果列表甚至沒有打開。
您必須用反引號包住列名以避免語法錯誤。
SELECT * FROM presentations_db.presenters_tbl WHERE `e-mail` LIKE '%@%
,如果你不與反引號把它包起來,它會執行artihmetic操作:導致您收到此錯誤
郵件從Ë
減去消息:Unknown column 'e' in 'where clause'
+1用於解釋語法錯誤 – 2013-04-11 07:04:43
您查詢是正確的只需更換這
e-mail
本
`e-mail`
除了與反單引號或雙引號中需要引用(如果ANSI引用已啓用)我會更改where子句:
SELECT * FROM presentations_db.presenters_tbl WHERE `e-mail` IS NOT NULL;
因爲所有你想要的是有電子郵件設置的記錄。但是,它不檢查地址的有效性。
我已覈實下列內容: – 2013-04-10 14:40:05
電子郵件字段存在且拼寫正確。 presentations_db.presenters_tbl存在並拼寫正確。 – 2013-04-10 14:41:11
它沒有WHERE部分工作的事實告訴我必須有一個電子郵件領域的問題,但什麼? – 2013-04-10 14:42:47