【MySQL】boolean型の更新で文法エラーになる

PHP×MySQLロゴ

ちょっとハマった出来事をメモ。

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 + @」です。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください