MySQL Import schägt fehl

Hallo zusammen,

ich habe Probleme beim Importieren einer MySQL Datenbank von Shopware.
Egal wie die Datenbank exportiert wurde (Kommandozeil, phpMyAdmin) lässt sich diese nicht importieren.
Auch der Import wurde über Kommandozeile und phpMyAdmin versucht.
Für mich sieht es aus als würde MySQL versuchen die Daten zu interpretieren und da dies nicht klappt, cersucht er dieses einfach als HEX zu interpretieren.

Fehlerausgabe:
ERROR 1062 (23000) at line 979: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 1010: Duplicate entry ‚\xEF\xBF\xBD6\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 1041: Duplicate entry ‚\xEF\xBF\xBD6\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD-\x‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 1072: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 2605: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD-\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 2931: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 3112: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBDV\xEF\xBF\xBD‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 3173: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF‘ for key ‚PRIMARY‘
ERROR 1062 (23000) at line 6506: Duplicate entry ‚\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF\xBF\xBD\xEF‘ for key ‚PRIMARY‘

Hat jemand so etwas schon einmal geshen?

Hallo,

die Fehlermeldung „Duplicate entry for key ‚PRIMARY‘“ sagt, dass der Primärschlüssel schon vorhanden ist, das hat eigentlich nichts mit den Zeichen zu tun. (das würde auch kommen wenn du „1“ und „1“ einfügen willst (bei Strings).
Was zeigt denn PhpMyAdmin für diesen Eintrag an?
Welche Tabelle ist betroffen?
sg Roman

Es sind mehre Tabllen betroffen.
Der Eintrag mit dem ersten Fehler ist in der country Tabelle ist zu lang um diesen hier zu posten.
Eintrag als .TXT
Ich hoffe das es Hilft.

Ich hab das mal exemplarisch von einen System von uns mit Standard MariaDb/MySql und PhpMyadmin exportiert. ( 10.3.21-MariaDB)

Wenn ich mit PhpMyAdmin die Country Tabelle exportiere bekomme ich:

INSERT INTO `country` (`id`, `iso`, `position`, `tax_free`, `active`, `iso3`, `display_state_in_registration`, `force_state_in_registration`, `company_tax_free`, `check_vat_id_pattern`, `vat_id_pattern`, `vat_id_required`, `customer_tax`, `company_tax`, `created_at`, `updated_at`, `shipping_available`) VALUES
(0x01d1633bbba84d7a8077e3c7d162cd7d, 'KR', 10, 0, 1, 'KOR', 0, 0, 0, 0, NULL, 0, '{\"enabled\": 0, \"currencyId\": \"b7d2554b0ce847cd82f3ac9bd1c0dfca\", \"amount\": 0}', '{\"enabled\": 0, \"currencyId\": \"b7d2554b0ce847cd82f3ac9bd1c0dfca\", \"amount\": 0}', '2020-08-10 12:35:57.168', NULL, 1)

Die Tabelle hat folgende Struktur:

CREATE TABLE `country` (
  `id` binary(16) NOT NULL,
  `iso` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `position` int(11) NOT NULL DEFAULT 1,
  `tax_free` tinyint(1) NOT NULL DEFAULT 0,
  `active` tinyint(1) NOT NULL DEFAULT 1,
  `iso3` varchar(45) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `display_state_in_registration` tinyint(1) NOT NULL DEFAULT 0,
  `force_state_in_registration` tinyint(1) NOT NULL DEFAULT 0,
  `company_tax_free` tinyint(1) NOT NULL DEFAULT 0,
  `check_vat_id_pattern` tinyint(1) NOT NULL DEFAULT 0,
  `vat_id_pattern` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `vat_id_required` tinyint(1) NOT NULL DEFAULT 0,
  `customer_tax` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  `company_tax` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,
  `created_at` datetime(3) NOT NULL,
  `updated_at` datetime(3) DEFAULT NULL,
  `shipping_available` tinyint(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Hast du spezielle Datenbank Einstellungen, dein Output schaut recht ungewöhnlich aus…

sg Roman

In welcher Codierung exportierst Du denn?

Ich vermute mal, Du hast in phpMyAdmin die Variante „Schnell – nur notwendige Optionen anzeigen“ gewählt. Nimm mal „Angepasst – zeige alle möglichen Optionen an“ und achte darauf, dass der Haken bei „Binäre Spalten in hexadezimaler Schreibweise exportieren“ gesetzt ist. Das sollte/könnte helfen. Codierung utf8 versteht sich von selbst

Also ich habe keine speziellen Datenbankeinstellungen. Das es alles recht ungewöhnlich ausschaut gebe ich dir vollkommen recht.
Meine Tabellenstruktur ist wie folgt:

CREATE TABLE `country` (
  `id` binary(16) NOT NULL,
  `iso` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `position` int NOT NULL DEFAULT '1',
  `tax_free` tinyint(1) NOT NULL DEFAULT '0',
  `active` tinyint(1) NOT NULL DEFAULT '1',
  `iso3` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `display_state_in_registration` tinyint(1) NOT NULL DEFAULT '0',
  `force_state_in_registration` tinyint(1) NOT NULL DEFAULT '0',
  `company_tax_free` tinyint(1) NOT NULL DEFAULT '0',
  `check_vat_id_pattern` tinyint(1) NOT NULL DEFAULT '0',
  `vat_id_pattern` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `vat_id_required` tinyint(1) NOT NULL DEFAULT '0',
  `customer_tax` json DEFAULT NULL,
  `company_tax` json DEFAULT NULL,
  `created_at` datetime(3) NOT NULL,
  `updated_at` datetime(3) DEFAULT NULL,
  `shipping_available` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;