私はこれを行う方法を知っていますが、私はダブルセレクトなどでオーバーコンプリートすると思います。MySQL:intフィールドの値を切り替える簡単な方法
あなたは、この(擬似SQLの例)をどのように行うことができます
UPDATE some_table SET an_int_value = (an_int_value==1 ? 0 : 1);
これは、いくつかの他の機能のためにint型の値である必要がありますが、簡単な方法でそれをどのように行うのですか?この場合
私はこれを行う方法を知っていますが、私はダブルセレクトなどでオーバーコンプリートすると思います。MySQL:intフィールドの値を切り替える簡単な方法
あなたは、この(擬似SQLの例)をどのように行うことができます
UPDATE some_table SET an_int_value = (an_int_value==1 ? 0 : 1);
これは、いくつかの他の機能のためにint型の値である必要がありますが、簡単な方法でそれをどのように行うのですか?この場合
UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1);
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_if
UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1)
、あなたはXORタイプ演算を使用することができます。
UPDATE some_table SET an_int_value = an_int_value XOR 1
これはan_int_valueは常にかかわらず、1または0になることを想定しています。
別のオプション:
UPDATE some_table SET an_int_value = ABS(an_int_value - 1);
は、私はすべての経験豊富な人の答えを見ることができますし、私も自分の答えを更新しました。これは実現可能な解決策ではありません場合
... 私はこの方法でこのことについて何をすべきか...
UPDATE tablename SET fieldname = not fieldname
すべてのボディは、提案をしてください与えることができます。実行速度や他の何かについて...言いたいこと...事実...コンセプト。 ENUMのためにENUMのために
これはMySQLで動作しますが、偶然と非標準的なブール値の実装が整数0/1としてのみ発生します。これはおそらく他のほとんどの標準SQL実装(私はそれをテストしていません)では動作しません。 –
(0,1)は、使用可能なフィールド...
UPDATEテーブルSETのint_value = BINARY(int_value = 1)
(0,1) UPDATE some_table SET an_int_value = IF(an_int_value = '1'、 '0'、 '1');
答えを詳しく説明してください。あなたが提供するソリューションについてもう少し詳しく説明してください。 – abarisone
0と1のダイナミックを作るために配列を渡す方法 –