- PR -

MySQLのload dataでエラー

1
投稿者投稿内容
niji
会議室デビュー日: 2001/10/26
投稿数: 12
投稿日時: 2005-11-14 13:26
OS:WindowsXP
DB:MySQL5.0
の環境で
CREATE TABLE `medicrec`.`table002` (
`vch10` VARCHAR(10) NOT NULL DEFAULT '',
PRIMARY KEY(`vch10`)
)
ENGINE = InnoDB;
と作成して、
test.txtファイル
"0123456789"
"1234567890"
をインポート(load data infile "test.txt" into table table002;)しようとすると

Data too long for column 'vch10' at row 1

となりインポートできません。
コマンドレベルでinsert intoするとできるのですが
文字コードの問題のようですが解決方法がわかりません。

どなたかご教授くださいませんでしょうか
117
ベテラン
会議室デビュー日: 2005/05/09
投稿数: 94
お住まい・勤務地: 大阪府
投稿日時: 2005-11-14 15:16
外してたらすいません
LINES TERMINATED BY '\r\n' を指定してみるとかでどうでしょう

# ""(引用符)を含めて1行12文字になってる という話ではないですよね?
_________________
# Future Is On Fire !
柴犬リキ
会議室デビュー日: 2005/12/24
投稿数: 1
投稿日時: 2005-12-24 18:37
こんばんわ
僕も大量のデータをコンバートする必要に迫られ、一行一行なら大丈夫なんですが
同様にテキストファイルからインポートするとこのエラーにひっかかりました
あちこちネット上を探したのですが、なかなかヒットしなくて気が狂う一歩手前
でした ^^;
で、解決策が見つかりまして・・・

set sql_mode='traditional' ; を load data infile ***** の直前に実行する

で解決しました
但し、コマンドプロンプトからの実行でないと何故かダメでした
odbc経由のsqlコマンド発行では無視されました
まだまだMySqlを理解できてませんので、うまく表現出来できませんが

お役に立てるとうれしいです
1

スキルアップ/キャリアアップ(JOB@IT)