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

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

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'


ODPOVĚĎ


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;


ODPOVĚĎ


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

Komentáře

Vaše reakce na phpMyAdmin kopírování do tabulek - duplicate entry

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.