我有一個數據庫與字段:land, zone, domestic
。我想根據用戶選擇的土地來獲取所有信息。所以我想我這樣做: SELECT * FROM myDB WHERE land=Norway
(挪威是一個儲存國家)。MySQL如何從表中獲取特定行
但我得到錯誤unknown column Norway
。這是因爲它找不到挪威或者似乎是什麼問題?
我有一個數據庫與字段:land, zone, domestic
。我想根據用戶選擇的土地來獲取所有信息。所以我想我這樣做: SELECT * FROM myDB WHERE land=Norway
(挪威是一個儲存國家)。MySQL如何從表中獲取特定行
但我得到錯誤unknown column Norway
。這是因爲它找不到挪威或者似乎是什麼問題?
它看起來像你沒有指定表名嘗試這樣的事:
SELECT * FROM MyDB.MyTable
WHERE land = 'Norway'
還要注意的是字符串挪威是單引號
問題在於引號。謝謝! –
你需要引號字面
SELECT * FROM myDB.tablename WHERE land='Norway';
(和一個適當的表名),否則你的價值就像一個列名稱,並給你錯誤未知列挪威。
你之前,你已經使用了,按照我的意見對國名之後錯過了單引號前面的問題!
SELECT * FROM myDB WHERE land = 'Norway'
上述查詢工作,前提是你的表實際上是命名爲myDB
您在查詢中使用所面臨的一列文本where子句。所以爲了比較你必須告訴dbms匹配的值。只使用挪威它不明白你是要求與挪威價值的行。使用'挪威'你告訴「嘿dbms在這裏你是你的文本對抗」。我希望我能幫忙。
缺少字符串引號 –
您的意思是? 'SELECT * FROM myDB WHERE land ='Norway''? –
'myDB'是你的表名,對吧?如果它是你的* Database *名稱,你應該注意[SaggingRufuses Answer](http://stackoverflow.com/a/42366991/3536236)。 – Martin