MySQL

phpinfoにmysql関連の項目が表示されない

PHP4からPHP5にバージョンアップしたらMySQLにつながらなくなりphpinfoからもmysqlのセクションが消えました・・・環境的にはどこも間違っている気がしていなくて、いろんなサイトを見た結果libmysql.dllをC:/WINDOWS/にコピーしたらphpinfoに出てきてMySQLにつ…

protocol requested by server; consider upgrading MySQL client

PHPに入ってるMySQLクライアントが古いのかと思ってPHP5の最新版から拾ってきたが駄目。結局の解決策は mysql> UPDATE user SET Password = OLD_PASSWORD('mypass') -> WHERE Host = 'some_host' AND User = 'some_user'; mysql> FLUSH PRIVILEGES; で解決!…

Data too long for column '列名' at row 1

MySQLのバージョンというより、Connector/Jのバージョンに依存している気がします。機種依存文字をinsertしようとすると上記のエラーが発生。Connector/Jのバージョンを順番に調べていくと、3.1.8からエラーが出なくなりました。 mysql-connector-java-3.1.1…

MySQL5.0で全角ハイフンが使えない

ツールによりけり…。コマンドラインではOK、S2DaoでもOK。connector/Jの5.0betaを使うと文字化けするし、機種依存文字を使うとエラーで落ちるしかなり泣けました。文字化けに悩んだ場合は3.1.7(7以降は未テスト&.12は駄目だった)を使えば解消されます。MySQ…

sum結果をString型にマッピング

内部的にはdoubleなのかな。1000.0とかになってた。どおりでlongへのパースに失敗するわけだ。SQLでキャストしてやろうと思ったけど、他のDBとSQLの互換性が無くなるからやめておいた。

〜を文字化けさせないためには

request.setCharacterEncoding("Windows-31J"); <%@ page contentType="text/html; charset=Windows-31J" %> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> jdbc:mysql://localhost/dbName?useUnicode=true&characterEncoding=Windows-31J こんなエンコーディングに統一すればOK。JDBC URLのcharacterEnc</meta>…

管理ツールはどれがいい?

これまたはぶさんとこからネタげっと。最近の私はMySQL漬けなのですが、いろんな管理ツールを試した結果、今の所Navicatが最強という結果になっています。1年間の無償アップグレード付きで22,575円なんですが、使い勝手の良さといったら他に類を見ないです…

nullを変換

Oracleでいうnvl関数は、MySQLだとifnull関数

続↓

時間無いのでJFaceDbcを使ってみる。あうち、データが文字化けする。原因は想像つくので対応してみる。JDBCのURLの所を jdbc:mysql://localhost/db_name?useUnicode=true&characterEncoding=utf8 としたらちゃんと表示できた。データの編集も無事にできた(^^…

4.1.2でDbEditを使ってデータの編集ができない

java.lang.ArrayIndexOutOfBoundsException: 2 うーみゅみゅみゅみゅみゅ。Why?DbEditのソースおっかけてまで原因を調査してる時間は無いのだ…とりあえずぐぐる。

文字化け奮闘記 その2

とりあえずJDBCドライバを疑ってみる。 JDBC Driver for MySQL with JDBC3.0(JDK1.4) & J2EE http://www.javareading.com/jdbc/ を導入してみた。今度は文字化けどころかINSERTすらされないorz。次次っ!

ON UPDATE CASCADEできた〜♪

文字化けを乗り越え、できなかった事ができるようになったのがすごく嬉しい(笑)ちょっと一箇所力技を使いましたけど。DBのdefault-character-setを途中で変更した場合とにかく不都合が出ます。データを全部削除しただけじゃ駄目です。C:\mysql\data\db_name\…

UTF-8を利用する

MySQL 4.1以降のバージョンの機能です。サポートされているキャラクタセットの一覧を見るには mysql> SHOW CHARACTER SET; + Charset Description Default collation Maxlen + big5 big5_chinese_ci 2 latin1 latin1_swedish_ci 1 ujis ujis_japanese_ci 3 s…

文字化け奮闘記 終了!

とーーーっても簡単でした。DBのURLにパラメータとしてエンコーディングを追加するだけでした。 jdbc:mysql://localhost/db_name?useUnicode=true&characterEncoding=gb2312 ぐぐってもビシっと見つからなかったのはなんでだろう?キーワードそんなに悪かっ…

文字化け奮闘記 その1

charactet setはgb2312(中国語)に設定し実験を行った。JDBCドライバはMySQL Connector/J 3.0.11。MySQLの設定(my.ini)はどれも同じ設定。 化けない mysql-3.23.58-win 化けない mysql-4.0.20a-win 化ける! mysql-4.1.2-alpha-win なんで4.1.2だけ化ける(T_T…

ON UPDATE CASCADE

http://dev.mysql.com/doc/mysql/ja/InnoDB_foreign_key_constraints.html バージョン 3.23.50 より、ON DELETE CASCADE 節または ON DELETE SET NULL 節を外部キー制約に付けることもできるようになりました。対応する ON UPDATE オプションは、4.0.8 より…

InnoDB覚醒!

my.iniの[mysqld]セクションの設定がえらいことになってました。 innodb_data_file_path=ibdata:2000M:autoextend ディスク容量パンクで起動しなかっただけのようです。MySQLのリファレンスからコピペしたからとんでもない数字になっていました。20MBに直し…

InnoDBが覚醒してくれない

3.23.58の話。InnoDBがどうにも有効になってくれなくて mysql>SHOW TABLE STATUS; をやってもInnoDBがNOと表示されてしまうorz。ON DELETE CASCADE使いたいよー。設定が間違っているんだろうな…mysqld.exeは置き換えたし…明日へ持ち越しの課題。

シーケンスの最新値を取る

AUTO_INCREMENTの列の最新の値を取得するには SELECT LAST_INSERT_ID() FROM TABLE_NAME; うーみゅ。最新版ではOracleみたいな使い方できるのかな。そういえばHSQLDBもこんな感じだったな〜。