私は奇妙な問題があります。私は以下のコードを使用して、csvファイルの束をMySQLデータベースにインポートしています。MySQLのcsv importがcharectersを切り捨てています
@ECHO OFF
setlocal enabledelayedexpansion
IF /I "%CD%\" NEQ "%~dp0" PUSHD "%~dp0"
mysql -e "DELETE FROM software_it.hardware" -u root
FOR %%f IN ("*.csv") DO (
set old=%%~dpnxf
set new=!old:\=\\!
mysql -e "load data local infile '"!new!"' into table software_it.hardware COLUMNS TERMINATED BY ',' IGNORE 1 ROWS" -u root
echo %%~nxf DONE
)
まず、csvファイルはCMD出力からのものです。 私は "UserName"と呼ばれるフィールドを持っていますが、私はそのフィールドでしか問題を見ていません。 ユーザ名は形式があります。
Trilegal \ {ユーザー名}今
を、最初にインポートした後、「\」がありませんし、名前のいくつかは、「後に不足している最初のcharecterを持っています\ "
この「\」の存在により何かが間違っていると推測しています。私は問題が私のテーブルにあると思ったので、私はインポートのGUI方法を使用しました。 GUIの方法はきれいにインポートされます。私は上記のコードを使用してインポートするために同じテーブルを使用し、同じ問題が再び戻ってきました。
私は、MySQLに新しいことがあるので、誰かが私がこの問題を理解するのを助けることができれば、それは素晴らしいことでしょう。
EDIT:
おかげで、 SS "/" から "\" に変更しました。
CSVファイルの '/'には特別なことはありません。ファイルに余分なカンマがないことを確認してください。 – Barmar
本当ですか?同じテーブルのGUIを使用して.csvファイルをインポートすると、ちょうど良い結果が得られます。上記のコードは、問題を引き起こしているものです。実際に私は間違っていて、それを編集します。それは "\"ではなく "/"である。だから私は\ bや\ rのような言葉をいくつか変更していると推測しています。 – SS97
そのタイプミスは私が昨晩答えを得なかった理由かもしれません。 – Barmar