タグのついた記事 mysql

MySQLのSQL文を発行するとき予約語を含めるときはバッククォート(`)でフィールド名をかこむ

MySQLには予約されている単語があり、予約語とバッシングするフィールド名を含んだSQL文を発行するときには予約語の部分のみをバッククォート(shift+@)で囲まなくてはならない。

insert into fieldname (`hoge_reserved`,hoge,hoge) values(‘hoge’,'hoge’,'hoge’)

上記の例の場合、「hoge_reserved」のみが予約語である。
しかしこんだけ予約語が多いとバッシングするばかりになりそうだな・・・どうすりゃいいんだ!!

コメントを書く

MySQLの長さ/値制限というのはバイト数ではなく単純に文字数

なので、1バイト文字(アルファベット等)だろうが2バイト文字(ひらがな等)だろうが同じように1文字として処理される。

コメントを書く

mysqlのDATATIME型にPHPから日時を流し込むためには

mysqlで日付と時間を記録したく、かつDBを直接人間が見てもわかりやすい形式となるとDATATIME型ということになる。
参考 http://q.hatena.ne.jp/1143719566
mysql.com DATATIME,DATE,TIMESTAMP 型 http://dev.mysql.com/doc/refman/4.1/ja/datetime.html

この形式の名前をISO8601という。

PHPで書き出すためには、PHP5以上ならばdate(c)を使えばいい・・・はずだったのだがどうやらISO8601は多様な書き方を許していてこれはDATATIME型とは違う書式だったので、自分で作った。

date(‘Y-m-d H:i:s’)

これでDATATIME型に放り込める。

コメントを書く

OpenPNEのMySQL table (c_diary) が壊れた!

SQL Buddyで状況を確認すると、

is marked as crashed and should be repaired

といったエラーが出ていた。

http://pecos.myhome.cx/wordpress/?p=500

ここの手順通りに修復することで解決。

コメントを書く

euc-jp環境のCentOSでMySQLにおいて日本語データがうまく挿入出来ないときは

http://centossrv.com/mysql.shtml

Poderosaなら一度「エンコーディング」をutf-8に変えてからデータを挿入する。
まあMySQLのデフォルトエンコーディングもutf-8にすればこんな手間要らないと思うけど。

コメントを書く