問題:
MySQL への XML ファイルのインポートテーブルの列数が一致しないため、エラーが発生します:「列数が値数と一致しません。」
原因:
XML ファイルに列値がありません。これは、自動インクリメント プロパティを持つデータベース テーブルの id 列に対応します。
解決策:
インポート中に id 列を除外することで、信頼できるようになります。 MySQL の自動インクリメント関数を使用してデータを設定します。これを行うには、LOAD XML ステートメントでインポートする列を指定し、id 列を省略します。
構文:
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, ...);
例:
あなたの場合、次のステートメントは、id 列を除いて XML ファイルを my_tablename テーブルにインポートします。
LOAD XML LOCAL INFILE '/pathtofile/file.xml' INTO TABLE my_tablename(personal_number, firstname, lastname, email, start_time, end_time, employee_category);
よりスマートな XML インポート処理:
LOAD XML 関数の代わりに、MariaDB が提供する XML to MySQL ユーティリティの使用を検討できます。これには、次のようないくつかの利点があります。
インストールと使用法:
sudo apt-get install mariadb-server-xml2mysql
mysql -u username -p password database_name < /pathtofile/file.xml
以上が列数が一致しない場合に XML ファイルを MySQL テーブルにインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。