LINUX & DEV PORADNA

  1. Vyřešeno (2 odpovědí)
    3
    3

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

    napsal Tony do kategorie "programovani"
    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' 
    Bez přílohy
    • Zkontrolováno
      2
      5

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

      odpověděl Moderátor: Rusty
      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
      Bez přílohy
    • Zkontrolováno
      2
      2

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

      odpověděl Superuser: Hanz
      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;
      Bez přílohy
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