phpMyAdmin kopírování do tabulek - duplicate entry

2 odpovědí
03.05.2017 napsal Tony dotaz do kategorie programovani 9 / 6

phpMyAdmin kopírování do tabulek - duplicate entry

Vyřešeno

phpmyadmin mysql duplicity databaze

A ještě když se snažím v MySQL databázi přes phpMyAdmin do tabulky1 doplnit data z tabulky2, tak na mě vyskočí chyba:

SQL query: Documentation

INSERT INTO `databaze`.`tabulka1` SELECT * FROM `databaze`.`tabulka2`

MySQL said: Documentation
#1062 - Duplicate entry '1' for key 'PRIMARY' 

03.05.2017 odpověděl Hanz Superuser
Zkontrolováno

Proveďte to takto, tabulka2 se překopíruje do dočasné tabulky temp, id se nastaví na NULL a pak se z tabulky temp obsah přidá to tabulka1:

CREATE TEMPORARY TABLE temp SELECT * FROM `tabulka2`;
UPDATE temp SET id = NULL;
INSERT INTO tabulka1 SELECT * FROM temp;
DROP TEMPORARY TABLE IF EXISTS temp;

07.07.2017 odpověděl Rusty Moderátor
Zkontrolováno

Můžete na to jít také tak, že specifikujete sloupce, které chcete překopírovat a pak nemusíte řešit kolici klíčů id:

INSERT INTO tabulka2 (data,datum) SELECT data,datum FROM tabulka1

nebo lze kopírovat mezi databázemi
INSERT INTO db1.tabulka2 (data,datum) SELECT data,datum FROM db2.tabulka1

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace