Hãy xem bảng 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'
biên tập. Lược đồ thông tin cho phép bạn thực hiện các truy vấn trên siêu dữ liệu. Vì vậy, bạn thậm chí có thể so sánh các trường giữa các bảng với một phép nối bên trái chẳng hạn.
biên tập. Xin chào Chris. Rất vui vì bạn đã giải quyết được. Như bạn đã nói vấn đề của bạn khá khác biệt vì nó liên quan đến các máy chủ khác nhau. Tôi thêm một ví dụ về hai cơ sở dữ liệu khác nhau trên cùng một máy chủ.
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
và kết quả rõ ràng là dob có trong table1 chứ không phải trong table2.
Hy vọng rằng nó sẽ giúp ai đó khác. Trân trọng các bạn. :)