2015-10-26 77 views
0

我在我的表中的字段名爲請將isDeleted和MySQL的問題,它是一個位(1)與where子句和位字段

我曾在該表中,其中請將isDeleted爲1的幾個項目,我需要將其更改爲0.當我在PhpMySQL中將這些項目更新爲0並運行另一個查詢以獲取其中isDeleted = 0的項目時,曾經標記爲1且未出現在此查詢中的項目。這是有問題的查詢

SELECT * FROM 'myTable' WHERE isDeleted = 0 

不管我做什麼來改變這些物品從1到0它們不會出現在結果上面的查詢....請幫助

+0

你怎麼改變'isDeleted' 0 –

+1

嘗試鑄造位YOUT整數'SELECT * FROM 'mytable的' 請將isDeleted WHERE =(0作爲BIT)' – Rik

+1

@Rik不錯的想法。我認爲不需要鑄造。 'create table test(id int,isdeleted bit);插入測試值(1,0),(2,1);從測試中選擇id where isdeleted = 0;'將輸出id = 1。也許還有其他事情正在發生。 – zedfoxus

回答

0

AS @GordonLinoff評論已經指出你只需要在需要時使用反引號\ myTable`作爲表名和列名,而不是單引號'myTable'這是在你的查詢發佈。

你可以簡單地檢查WHERE isDeletedWHERE !isDeletedBIT(1)類型。

http://sqlfiddle.com/#!9/b8ed4b/2

SELECT * 
FROM myTable 
WHERE isDeleted; 

SELECT * 
FROM myTable 
WHERE !isDeleted; 

SELECT * 
FROM myTable 
WHERE isDeleted=0;