sql >> Databáze >  >> RDS >> Mysql

PHP Vkládání dat z jedné tabulky do druhé

Když PHP odešle váš dotaz na vložení do MySQL, skončí to takto:

INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);

Protože kolem „John“, „Mary“ a „Julie“ nejsou žádné uvozovky, MySQL si myslí, že odkazujete na názvy jiných sloupců. Rychlým a špinavým řešením by bylo přidat do vašeho dotazu uvozovky, ale jak říká @tadman, neměli byste nikdy používat tento styl dotazu a měli byste místo toho použít bind_param k přidání vašich proměnných do dotazu.

Pokud však chcete pouze kopírovat z jedné tabulky do druhé, jak říká @Dan Bracuk, můžete to udělat jediným dotazem:

INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content


  1. Jak donutím Postgres, aby používal konkrétní index?

  2. JetShowPlan:Primer

  3. Který SQL dotaz je rychlejší? Filtrujte podle kritérií připojení nebo klauzule Where?

  4. Porovnání období