0

からテーブルにデータをインポートしcsvていMySQLます。String日付形式を からに変換する必要がありますDate。開始形式から最終形式まで:

Mon Feb 04 00:00:00 UTC 2011  ---> 2011-02-04 00:00:00

私はそれを成功させました:

select str_to_date('Mon Feb 04 00:00:00 UTC 2011', '%a %b %d %k:%i:%s UTC %Y');

からのすべてのインポートを行うスクリプトを作成しています。変換する日付を含む 2 つの列がありますが、その部分で構文の例外が発生しcsvて立ち往生しています。MySQLset

私のSQLスクリプト:

load data local infile 'movimento.csv' into table movimento
fields terminated by ',' lines terminated by '\n'
(id, anno, creditore, @data_pag, @data_spost, descrizione)
set data_pagamento = str_to_date(@data_pag, '%a %b %d %k:%i:%s UTC %Y')
set data_spostamento = str_to_date(@data_spost, '%a %b %d %k:%i:%s UTC %Y')
show warnings;

一部の構文例外で立ち往生していますset。エラー:

エラー 1064 (42000): SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 5 >

正しい構文は何ですか?

4

1 に答える 1

2

構文が正しくありません。これを試してみてください -

LOAD DATA LOCAL INFILE 'movimento.csv' INTO TABLE movimento
FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
(ID, anno, creditore, @data_pag, @data_spost, descrizione)
SET
  data_pagamento = STR_TO_DATE(@data_pag, '%a %b %d %k:%i:%s UTC %Y'),
  data_spostamento = STR_TO_DATE(@data_spost, '%a %b %d %k:%i:%s UTC %Y')
于 2013-03-28T11:20:44.013 に答える