SQL語句中設置字段值取反操作


1、對布爾值取反,使用 ~。

如 update set status=~status where id=2; status的值為true || false。

2、對0、1 數值取反,使用abs() 取絕對值。

如 update set status=abs(status-1) where id=1;  status的值為0 || 1。

這里如果數據表里的值一開始為0,那么會報一個錯:

[Err] 1690 - BIGINT UNSIGNED value is out of range in '(resume.r_resume.status - 1)'

原因:取絕對值之前得到負值,看看是不是status勾選了unsigned,去掉再試試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM