Devart ma rację, nie można dołączyć do oświadczenia SHOW CREATE
. Jednak w zależności od Twoich konkretnych potrzeb możesz sfałszować to, tworząc własne oświadczenie SHOW CREATE
.
Złożoność kodu zwiększy się, jeśli konieczne będzie uwzględnienie mechanizmu bazy danych, kolumn i tabel, indeksów itd. - jednak poniższy kod SQL zapewni odpowiednią tabelę i pola wraz z typami danych. Jestem pewien, że możesz go jeszcze bardziej rozszerzyć, bardziej szczegółowo analizując zawartość information_schema.columns
.
SELECT CONCAT('CREATE TABLE `',t.TABLE_NAME,'` ',
GROUP_CONCAT(CONCAT(c.COLUMN_NAME,' ',c.COLUMN_TYPE,' ',c.EXTRA) SEPARATOR ','),';') AS CreateStatement
FROM information_schema.tables t
INNER JOIN information_schema.columns c
ON t.TABLE_NAME=c.TABLE_NAME
/* WHERE STATEMENT IF NEEDED */;
Przykładowe wyjście:
CREATE TABLE `answers` rowid int(11) auto_increment,
id int(11) ,username varchar(200) ,answer varchar(2000) ;