ENUM 引發的問題

2021-09-23 15:29:34 字數 920 閱讀 2403

最近在設計資料庫時,欄位status設計為了enum型別。

當在php中查詢時,如下:

$list = db::name('repair_serve_type')

->alias('rs')

->join('fa_repair r','r.id=rs.rid')

->field('r.id,r.name,r.scoring,r.total_order,r.zone,r.address,r.serve_type,r.first_img,r.lng,r.lat')

->where('sid',$serve_type['id'])

->where('status',1) //已審核的 當為int時返回錯誤

->where('is_stop',0) //未停用的

->paginate($size,false,['page'=>$page]);

發現沒有查詢到值,檢視你資料庫後發現資料是存在的,直接使用sql預計查詢測試.結果卻讓我懷疑世界離開。有如《三體》中的楊冬發現自己之前堅信的物理原理被打破後的那種無力感。

如下,查詢status=1 結果卻返回為0的結果

查詢為2卻返回為1的結果

後來再文豪同志的提醒下,可能是資料型別錯誤了。

改正之後便沒有錯誤了  如下

後來,查了下《高效能mysql》 enum型別儲存的是字串

strace f strace ls 引發的問題

strace 是linux下常用的跟蹤程式系統呼叫的工具。strace簡介 可使用 strace 來跟蹤 cmd 所使用的系統呼叫,原理是 strace 程序 fork 乙個子程序並使用 ptrace 系統呼叫設定和監聽子程序的狀態。使用 strace f 可以跟蹤cmd和它的子程序 下面給出乙個簡...

string memset 引發的問題

在centos 作業系統中給乙個 string 數字賦值,結果程式崩潰了。但是在ubuntu 系統下好好的。gdb 除錯提示如下 看到提公升猜測 1 string 和 string.h 有問題,各種調查 修改 編譯 執行還是掛了,結果提示一樣。2 string 賦值有問題,結果本地建立string ...

由Typedef引發的問題

由typedef 引發的問題 自 用來宣告乙個別名,typedef 後面的語法,是乙個宣告。本來筆者以為這裡不會產生什麼誤解的,但結果卻出乎意料,產生誤解的人不在少數。罪魁禍首又是那些害人的教材。在這些教材中介紹 typedef 的時候通常會寫出如下形式 typedef int para 這種形式跟...