Mysql
 sql >> база данни >  >> RDS >> Mysql

Групирайте изхода на SHOW COLUMNS в списък, разделен със запетая

Разгледайте таблицата 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'

редактиране. Информационната схема ви позволява да правите заявки за метаданни. Така че можете дори да сравнявате полета между таблици с ляво присъединяване например.

редактиране. Здравей Крис. Радвам се, че си решил. Както казахте, проблемът ви беше доста различен, защото се отнасяше до различни сървъри. Добавям пример за две различни бази данни на един и същ сървър.

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

и очевидният резултат е dob, който присъства в таблица 1, а не в таблица 2.

Надявам се, че ще помогне на някой друг. Поздрави момчета. :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL външен ключ при изтриване

  2. Масиви за мета заявки на WordPress

  3. Как да сравним две таблици в MySQL

  4. Как да върнете таблица от MySQL функция

  5. Изчисляване на процентилен ранг в MySQL