ちょっとハマった出来事をメモ。
MySQL+PHPの環境にて、boolean型(TINYINT)の値を更新しようとした時、なぜか文法エラー(syntax error)で弾かれるという問題が起こった。
問題となった記法
問題となったSQL文は以下の通り。
UPDATE table_name SET boolcol=1 WHERE key=X
もうほんと最初は全然分からなかったけど、答えはすごく単純だった。
boolean型(TINYINT)の場合、カラム名を「`」(バッククオート)で囲う必要があるようだ。
正しい記法
UPDATE table_name SET `boolcol`=1 WHERE key=X
超基本なことなのか、色々なページを見ても分からなかった。
…覚えておきます。
ちなみにバッククオートの打ち方
普段使わないので、これもすぐには分からなかった。
バッククオートの打ち方は「Shift + @」です。