Tag et kig på tabellen information_schema.columns
select group_concat(column_name order by ordinal_position)
from information_schema.columns
where table_schema = 'database_name' and table_name = 'table_name'
redigere. Informationsskema giver dig mulighed for at foretage forespørgsler på metadata. Så du kan endda sammenligne felter mellem tabeller med f.eks. en venstre joinforbindelse.
redigere. Hej Chris. Godt du har løst. Som du sagde, var dit problem ganske anderledes, fordi det vedrørte forskellige servere. Jeg tilføjer et eksempel på to forskellige databaser på den samme server.
create database db1;
use db1;
create table table1(
id int not null auto_increment primary key,
name varchar(50),
surname varchar(50),
dob date)
engine = myisam;
create database db2;
create table db2.table2 like db1.table1;
alter table db2.table2 drop column dob;
select i1.column_name from (
select column_name
from information_schema.columns
where table_schema = 'db1' and table_name = 'table1' ) as i1
left join (
select column_name
from information_schema.columns
where table_schema = 'db2' and table_name = 'table2' ) as i2
on i1.column_name = i2.column_name
where i2.column_name is null
og det åbenlyse resultat er dob, der er til stede i tabel1 og ikke i tabel2.
Håber det hjælper en anden. Hilsen gutter. :)