[英]MYSQL 5.7 UPDATE value with ternary (perform a true/false toggle)
我正在嘗試在 true 和 false 之間切換表列。 我最近的嘗試——
UPDATE favorites SET favorited = (IF(favorited=true, 'false', 'true')) WHERE title="${recipe}"
-- 給我以下錯誤:
ER_TRUNCATED_WRONG_VALUE: Truncated incorrect DOUBLE value: 'true'
任何 MYSQL 天才能指導我使用正確的語法嗎?
您正在從 IF 返回字符串,即'false', 'true'
返回布爾值
UPDATE favorites
SET favorited = (IF(favorited=true, false, true)) .....
在這種情況下不需要小音符天才:)
如果favorited
的列的數據類型是BOOLEAN
那么你正在做的是當前值的否定所以你需要的只是運算符NOT
:
UPDATE favorites
SET favorited = not favorited
WHERE title="${recipe}"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.