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,去掉再試試。