Мы начали с ID как int (11). Затем мы переключились на генерацию столбца Hibernate, и идентификатор стал bigint (20). Таким образом, многие внешние ключи перестали работать, если я не изменил определение столбца соединения от bigint (20) до int (11). Можно ли написать скрипт, который изменяет все int (11) на bigint (20) для всех столбцов?Как изменить тип данных для многих столбцов сразу в MYSQL?
Запрос найти все столбцы изменить следующим образом:
select table_name, column_name, column_type
from information_schema.columns
where table_schema = 'rentoptimum'
and column_type='int(11)'
order by table_name, ordinal_position;
Могу ли я обновить данные в INFORMATION_SCHEMA.COLUMNS или я должен написать альтер сценарий для каждой таблицы?
Вы имеете в виду создавать инструкции 'alter table'? Вы можете проверить [** информационную схему **] (http://stackoverflow.com/questions/1526688/get-table-column-names-in-mysql) и создать динамический запрос. –
Вот что я подумал, как? –
Но в чем проблема? Запросить информационную схему или создать динамический запрос. Расскажите, пожалуйста, больше, чтобы вести вас в правильном направлении. –