2013-06-19 13 views
0

我想選擇coulmns的值不等於'na'的所有列。我得到訪問所有mysql列的錯誤

這是我用於此的查詢。

SELECT * FROM `wp_skilllist` WHERE column IS NOT NULL AND TRIM(column) <> 'na' 

這是錯誤我得到

MySQL server version for the right syntax to use near 'column IS NOT NULL AND TRIM(column) <> '' LIMIT 0, 30' at line 1 

任何人可以幫助我糾正查詢。

+2

'列' 是保留字。嘗試'列' –

+0

是的,我有150列,這就是爲什麼我使用列關鍵字。 – wordpressm

+3

首先:您無權訪問列,就好像它們是行一樣。第二:人們怎麼不讀和理解問題是什麼?很明顯,收集所有非空的列。但是,您無法在單個查詢中執行此操作。您可以指定要選擇的列。如果它們爲空,則不能指定哪些不選擇。看來你的模式是錯誤的。顯然你需要選擇「列」,就好像它們是行。這僅僅意味着你的150列表應該實際上是一張有150條記錄的表格。 –

回答

0

columnreserved word,它應該是反引號之間,使其工作(或更好,使用別的東西你的列名):

SELECT * FROM `wp_skilllist` WHERE `column` IS NOT NULL AND TRIM(`column`) <> 'na' 
+0

我以上嘗試,但我得到的錯誤#1054 - 'where子句'中的未知列'列' – wordpressm

+0

不是問題的答案。 –

+0

@ N.B。你能解釋一下嗎? –

-1

列是MySQL的關鍵字,從而避免使用它爲您列名稱。 試試這個: -

SELECT * 
FROM `wp_skilllist` 
WHERE `column` IS NOT NULL 
AND TRIM(`column`) != 'na'; 

請看演示here

HERESQLFIDDLE

+0

我得到以下'#1064 - 你的SQL語法有錯誤;檢查對應於您的MySQL服務器版本的手冊,以便在'!='na'在第1行的限制0,30'處使用正確的語法' – wordpressm

+0

http://sqlfiddle.com/#!2/6c943/1 – chetan

+0

可以你請提供downvote的原因? SQL工作正常,你可以在我提供的sql小提琴上看到演示。 – chetan