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

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

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

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

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

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

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