2

mysql db に .csv ファイルの内容を正常にインポートした後、奇妙な問題に直面しています。csv ファイルのデータは db テーブルに正常にインポートされますが、テーブルで条件を指定して SQL クエリを実行すると、クエリ結果が返されません。クエリを実行できます:

select * from mst_question

ただし、条件が指定され、条件が満たされた場合、結果は返されません

select * from mst_question where qtype='single'

テーブルには、列 qtype に条件テキスト「single」が含まれる行がありますが、結果は返されません。

奇妙なことに、テーブルの列「qtype」の内容を編集し、テスト「single」を「single」と入力して置き換えると、行が返されます...編集する行ごとに!!!

私の .csv ファイル:

que_id,test_id,que_desc,ans1,ans2,ans3,ans4,true_ans,qtype
,11,In which year is the HTML specification supposed to be complete and finalized?,2012,2015,2020,2022,D,single
,11,Which of the following doctypes was introduced by HTML5?,<!doctype xhtml>,<!doctype html>,"<!doctype html PUBLIC ""-//W3C//DTD HTML 5.0 Transitional//EN"">","<!doctype html5 PUBLIC ""-//W3C//DTD HTML 5.0 Transitional//EN"">",B,single
,11,How do you stop crawlers from following links to sites you don't want to be associated with?,"<a href=""#"" rel=""nofollow""> ","<a href=""#"" rel=""dontgo""> ","<a href=""#"" rel=""nogo""> ","<a href=""#"" rel=""noassociation"">",A,single
,11,Which tag is used to define a section of the page that has content that is related but not critical to the main content in HTML5?,<article> ,<sidesection> ,<aside> ,<section> ,C,single
,11,The <article> is used to contain a main article. What is the tag used to break it into sections?,<article> ,<time> ,<aside> ,<section> ,D,single

私の LOAD DATA LOCAL INFILE 構文:

LOAD DATA LOCAL INFILE 'quest.csv' INTO TABLE mst_question FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY """" IGNORE 1 LINES

LOAD DATA LOCAL INFILE が実行された後の出力:

(5 row(s)affected)
(0 ms taken)

私のSQLクエリ(結果が得られます):

select * from mst_question

結果:

(5 row(s)returned)
(0 ms taken)

単純な条件(結果が得られない)を使用した私のSQLクエリ:

select * from mst_question where qtype='single'

結果 :

(0 row(s)returned)
(0 ms taken)

私は何を間違っていますか????

見つかりません.... アドバイスをお願いします...

4

1 に答える 1

2

私の推測では、ファイルに Windows の改行が含まれていると思います。

...0,2022,D,single\r\n

句を指定していないLINES TERMINATED BY '\r\n'ため、MySQL はおそらく Unix スタイル ( \n) にデフォルト設定されているため、実際にはsingle\r列にインポートされます。

で正確な列の内容を調べることができますHEX()

于 2013-02-04T16:21:47.383 に答える