Mit dem
SQL-String versucht Du aus den Inhalten einer Tabelle eine neue Tabelle zu erzeugen. Geht natürlich nicht.
Die Felder einer Tabelle kannst Du auslesen mit
SHOW FIELDS FROM xyz
das CREATE Statement je nach verwendeter Datenbank mit
SHOW CREATE TABLE xyz
.
Du musst Dein Statement in zwei bis drei Schritte zerlegen: lesen der Definition, Änderung der Tabellenbezeichung mit stringreplace o.ä. und anlegen der neuen Tabelle.