2007年1月11日
ACCESSのリンクテーブルからデータが更新できない
MS ACCESSからのデータをMySQLに移行する作業を行っている。ODBC経由でエクスポートするのが楽なんだが、主キーの設定が無効になってしまうので、MySQLから主キーの設定をする必要がある。文字コードはsjisなので、あとでPHPから接続しようと思うと文字化けの原因にもなったりするので、その設定にも留意が必要である。
何も考えずに、ACCESSのデータをMySQLにインポートしてODBC経由でACCESSから接続して、データの更新をしようと思うとなぜかうまくいかない。問題は、主キーを設定していないためだ。主キーを設定してから再度リンクテーブルを設定しなおすとうまく行く。
主キーの設定にはMySQLとODBCのACCESSから設定可能だが、各コラムが一意でないカラムを複数合わせて一意として複数に主キーを設定するには、ODBCのACCESSからでないと設定することはできない。
(例)
year month no
2007 01 25
2007 01 26
year month noの3つのカラムでユニークなデータと扱いたいが、yearでは2007が重複していて、MySQLではyearに主キーは設定できない。MySQLから設定する方が早い。
- by editor
- at 13:44
編集長のおすすめの一冊!2010
comments