2017-05-10 6 views
3

私はCSVファイルをHeidi SQLにインポートしています。CSVで検索して置換するにはmysqlを使用してインポートしています

create table all_data 
    (
     Keyword varchar(1000), 
     Position int, 
     Previous_Position int, 
     Search_Volume int, 
     KW_Difficulty float, 
     URL varchar(1000), 
     Post_title varchar(1000), 
     Post_URL varchar(1000), 
     Genre varchar(1000), 
     Location varchar(1000), 
     Avg_Daily_Visitors float, 
     pageviews int 
     ) 
; 

をしかしAvg_Daily_visitors列には値がない「\ n」を持っている:私はこのコードを使用してテーブルを作成しました。私はこのコードを使用してデータをインポートしてきた:

load data local infile 'C:/filepath.../All_Data.csv' 
replace into table all_data 
fields terminated by ',' 
    enclosed by '"' 
    escaped by '"' 
lines terminated by "\r\n" 
ignore 1 rows 
set 
    Avg_Daily_Visitors = replace(Avg_Daily_Visitors,"\N",0), 
    pageviews = replace(pageviews,"\N", 0) 
; 

が、私が達成したいものである、0で値を置き換えていません。インポート時にHeidi SQLを "\ N"を "0"に置き換えるにはどうすればよいですか?

ありがとうございました。

答えて

0

最初に読み込んだ値を変数に代入し、その変数を処理します。このためには、ターゲット表の列を指定しますが、置換する列ではなく変数を指定します。

load data local infile 'C:/filepath.../All_Data.csv' 
replace into table all_data 
fields terminated by ',' 
    enclosed by '"' 
    escaped by '"' 
lines terminated by "\r\n" 
ignore 1 rows 
(column_1, column_2, @variable1, @variable2, column_5) 
set 
    Avg_Daily_Visitors = replace(@variable1,"\N",0), 
    pageviews = replace(@variable2,"\N", 0) 
; 
関連する問題