1

| で区切られた 2 つのフィールドを含むテキスト ファイルがあります。改行で記録

example:
L'EQUME|7A
Voley|18
L'olivier|158

私は3つの列(id、name、val)を持つMySqlテーブルを持っています//id autoincrement ...

そのため、mysql ロード ファイル機能を使用して値を name と val に挿入したいと考えていますが、主な問題はファイルのロード中のアポストロフィです ...

ロードファイルを介してクエリを実行中にスラヘスを追加する方法は?

LOAD DATA INFILE 'data.txt'
INTO TABLE table_name
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\r\n'
(name, val);
4

1 に答える 1

2

使用できますがescaped by、覚えておいescaped byenclosed byください。同じであってはなりません

一重引用符の値を入力したいのですが、フィールドは二重引用符で囲まれており、最初の行は無視する必要があると想定しています。

このようなことを試してください

LOAD DATA INFILE 'data.txt'
INTO TABLE table_name
FIELDS 
  TERMINATED BY '|'
  ENCLOSED BY '"'
  ESCAPED BY ''
LINES 
  TERMINATED BY '\r\n'
 IGNORE 1 LINES; //if you don't want to ignore first line than remove it
于 2015-07-04T12:56:12.803 に答える