osCommerceの古い実装を再作成し、古いデータベースのデータを新しいものに再導入しようとしています。私はphpMyAdminを使って古いテーブルからデータをエクスポートしました。私はそれらを新しいデータベースにインポートしようとしたときに、一連のエラーが発生しました。ここでは、わかりやすくするために、この問題を単一のINSERT文に単純化しています。あるデータベースから別のデータベースにmysqlデータを転送できません
文は次のとおりです。
INSERT INTO `address_book` (`address_book_id`,
`customers_id`,
`entry_gender`,
`entry_company`,
`entry_firstname`,
`entry_lastname`,
`entry_street_address`,
`entry_suburb`,
`entry_postcode`,
`entry_city`,
`entry_state`,
`entry_country_id`,
`entry_zone_id`)
VALUES (1, 1, 'm', '', 'Mary', 'Smith',
'1234 Pleasant Court', '', '67890',
'Hometown', 'state', 123, 0);
私はphpMyAdminの経由ファイルからインポートしようとすると、私はエラーを取得する:“#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.”
私は、[編集]ボタンをクリックし、クエリを再送信した場合、私は別のものを得ますエラー:“#1062 - Duplicate entry '1' for key 'PRIMARY'.”
address_book_idフィールドはこのテーブルの主キーで、自動インクリメントフィールドです。
まだ編集画面で、address_book_idの値をNULLに変更して再送信すると、そのクエリが受け入れられます。
問題が解決したと考えて、インポートファイルのaddress_book_idの値をNULLに変更し、再度インポートを試みました。そして再び#1064エラーが発生します。私はすぐに編集をクリックした。私はその声明を編集しなかったが、それをそのまま提出した。今回は、声明が受け入れられました。
ダウンロードしたデータのaddress_book_id値を処理する際に問題があるようです。私は古いデータベースの多数のテーブルから何百ものインデックス値を持っています。明らかに、インデックス値を変更して一度に1つずつ提出する必要はありません。
私はphpMyAdmin 3.5.1で作業しています。何が起こっているか考えてみませんか?
はタイプミスがある - ** VALUES ** - **ないALUES ** - address_book INTO NSERT(address_book_id、customers_id、entry_gender、entry_company、entry_firstname、entry_lastname、entry_street_address、entry_suburb、entry_postcode、entry_city、entry_state、entry_country_id、 ** 'ALT' ** ** ALUES **(1、1、 'm'、 ''、 'Mary'、 'Smith'、 '1234 Pleasant Court'、 '67890'、 'Hometown'、 'state' 0)。 –