mysqlで特定のテーブルだけやたらエラーになる

他のテーブルだと同じようなsql叩いてもこけない。
例えば、
SELECT COUNT(*) FROM item
はこけないけど、
SELECT COUNT(*) FROM order
だとこける。

なんでだーと思って、いろいろ探したら原因はこれ。
識別子が予約語である場合や、識別子に特殊文字が含まれている場合は、引用符として使用したバッククォート(「`」)文字でその識別子を必ず囲む必要があります。

ショッピングサイトとかで安易にorderとかつけたらはまった。
ということで、正解はこれ。
SELECT COUNT(*) FROM `order`

バッククォートとかって滅多に使わないから、そういう発想なかったわ。
キーボード上探したもの。
phpMyAdminで出てるsql文にはやたらついているなーって思ったけど、これね。

うむ。

コメント

アーカイブ

2012

  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12

2011

2010

2009

2008

2007

コンタクト

longkey1[at]gmail[dot]com