2012-03-14 8 views
1

私のgoodreads.comブックリスト(csv)を自分のデータベースにインポートするためのクエリの書き方を理解しようとしています。私はPHPを使用しています。MYSQLのロードデータlocal infile&special characters(&PHP)

$query = "load data local infile 'uploads/filename.csv' into table books 
      RETURN 1 LINES 
    FIELDS TERMINATED BY ',' 
    ENCLOSED BY '\"' 
    LINES TERMINATED BY '\n' 
    (Title, Author, ISBN)"; 

これは間違った列のデータになり、私はまた、等号(=)記号はいくつかの問題を引き起こしている推測、関係なく、私がしようとするもの、ISBNを取得することはできません。

はここでCSVの最初の2行です:私は何をしたいか

Book Id,Title,Author,Author l-f,Additional Authors,ISBN,ISBN13,My Rating,Average Rating,Publisher,Binding,Number of Pages,Year Published,Original Publication Year,Date Read,Date Added,Bookshelves,Bookshelves with positions,Exclusive Shelf,My Review,Spoiler,Private Notes,Read Count,Recommended For,Recommended By,Owned Copies,Original Purchase Date,Original Purchase Location,Condition,Condition Description,BCID 
11487807,"Throne of the Crescent Moon (The Crescent Moon Kingdoms, #1)","Saladin Ahmed","Ahmed, Saladin","",="0756407117",="9780756407117",0,"3.87","DAW","Hardcover","288",2012,2012,,2012/02/19,"to-read","to-read (#51)","to-read",,"",,,,,0,,,,, 

のみ、次のフィールドを持つテーブルにすべての書籍のタイトル、著者、およびISBNをインポートされます。id(オート)、タイトル、著者、isbn。私は列ヘッダーが必要ないので最初の行も除外したいと思いますが、私が試みたときに毎回失敗します。

私のクエリで何が問題になっていますか?

答えて

0

ネイティブのMySQL CSVパーサーを使用する場合は、CSVファイルの列数に一致するテーブルを作成する必要があります。インポートが完了したら不要な列を削除するだけです。

+0

これはうまくいきましたが、私はまだそれを行うためのより直感的な方法がないことに驚いています。早速のご返事ありがとうございます! –

関連する問題