2014-10-09 5 views
0

Использование MySQL с учетом таблицы (с именем «Таблица1») с тремя известными именованными столбцами (EG «Column1», «Column2» и «Column3») и неизвестным количеством неизвестных названных столбцов, вы задаете тип всех неизвестных столбцов для varchar (40) с помощью SQL-выражений (-ов)?MySQL - Изменение типов столбцов

+0

Um, почему? Это домашнее задание? «Динамический SQL» - единственный способ, о котором я мог думать, не записывая все имена столбцов ... – sgeddes

ответ

1

Просто генерировать операторы вам нужно, и запускать их

select concat('alter table ', table_name, ' modify column ', column_name, ' VARCHAR(40)') from information_schema.columns 
where table_schema='yourdb' and table_name='table1' 
and column_name NOT IN('col1','col2','col3') 
0

Я не знаю ни одного такого оператора sql, который мог бы это сделать, но вы могли бы написать короткую программу, которая запрашивала бы имена столбцов из таблицы1, а затем создавала команду ALTER sql для установки всех столбцов в varchar (40).