Kiedy PHP wysyła zapytanie wstawiania do MySQL, wygląda to tak:
INSERT INTO content2 (d1, d2, d3) VALUES (John, Mary, Julie);
Ponieważ nie ma cudzysłowów wokół „John”, „Mary” i „Julie”, MySQL myśli, że odnosisz się do innych nazw kolumn. Szybkim i brudnym rozwiązaniem byłoby dodanie cudzysłowów do zapytania, ale jak mówi @tadman, nigdy nie powinieneś używać tego stylu zapytań i zamiast tego powinieneś używać bind_param
aby dodać zmienne do zapytania.
Jeśli jednak chcesz tylko skopiować z jednej tabeli do drugiej, jak mówi @Dan Bracuk, możesz to zrobić za pomocą jednego zapytania:
INSERT INTO content2 (d1, d2, d3)
SELECT d1, d2, d3
FROM content