MySQL 8.xの"LOAD DATA LOCAL"でCSVのインポートが出来ない
ご教授ください。下記のようなテーブルをMySQL 8.xの環境で作りました。
CREATE TABLE `t011901_04` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) DEFAULT NULL,
`price` int(11) DEFAULT NULL,
`kousinsya` varchar(20) DEFAULT NULL,
`kousin` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`tourokusya` varchar(20) DEFAULT NULL,
`touroku` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
大量のデータを挿入したいため、下記のCSV(D:\DOC_NOW\TEST.csv)データを自分のパソコン内に作成し(TEST.csv内部、サクラエディタでUTF-8,改行コードはLF(UNIXコード)を指定しています。
NULL,"TAKE1",10000,"LOGINUSER",NOW(),"LOGINUSER",NOW()
NULL,"TAKE2",10001,"LOGINUSER",NOW(),"LOGINUSER",NOW()
NULL,"TAKE3",10002,"LOGINUSER",NOW(),"LOGINUSER",NOW()
.
.
NULL,"TAKE1000",11000,"LOGINUSER",NOW(),"LOGINUSER",NOW()
workbenchから実行すると
LOAD DATA LOCAL INFILE 'D:\DOC_NOW\TEST.csv'
INTO TABLE t011901_04 FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';
エラーになりCSVデータが挿入されません。
Error Code: 1148. The used command is not allowed with this MySQL version 0.000 sec
そこで質問ですが
- オートインクリメントのフィールドはCSVファイルのデータをNULLを指定していますがよいのでしょうか?
- 自分のローカルのパソコンからCSVファイルを指定する場合、フルパスで指定して、他にオプション類はありますか?
- データ登録時に自動的に現在日時を指定するため
NOW()
にしていますがこのやり方でよろしいのでしょうか?