關於MYSQL查詢時WHERE條件值為數字的問題

2021-06-01 17:33:46 字數 577 閱讀 8079

本來我需要查詢

select * from demo where status=1;

杯具的是,我想要的結果沒有出來,找了一下問題的原因

我資料庫中status欄位的型別為enum,不是數字型別的原因?

select * from demo where status=『1』;

這樣就可以了,我一直以為是一樣的呢,以為mysql自動會轉換型別,看來以為是不行的...

//終於明白為什麼了,上面的想法是錯誤的....

原來如果字段型別為enum的話,status=1

不加引號查詢的是索引的值,****,我以前怎麼就不知道呢?哈哈

舉個例子:enum裡面放著0,1,下面就是索引所對應的字段(可能這樣叫不合適?),當讓如果加上單引號就是正常的值的匹配了

對應的字段

索引

null

null

""

0"0"

1"1"

2

mysql多表查詢where

有3張表,學生 科目 和成績表。student,result subject.當使用where條件過濾時,會過濾掉找到記錄中滿足條件的記錄,而對於左連線也是適用的。如下圖 對於where過濾條件,此針對的是查詢出來的總的記錄,而不會因是left join而不過濾 select s.id,s.name...

連線查詢時的where與and

這裡有兩條sql語句 1.select e.employeeid,e.employeename,d.departmentname from employee e left join department d on e.departmentid d.departmentid and e.employe...

關於where的條件查詢in

表示式查詢 map 欄位1 array 表示式 查詢條件1 map 欄位2 array 表示式 查詢條件2 model where map select 也支援 表示式不分大小寫,支援的查詢表示式有下面幾種,分別表示的含義是 表示式含義 eq等於 neq不等於 gt大於 egt大於等於 lt小於 e...