2017-02-16 2 views
0

для базы данных с 100 таблицами, а все таблицы имеют столбец с именем «country varchar (20) not null». Прямо сейчас у нас есть большой файл SQL, который был свалит некоторое время назад, и все таблицы не имеют столбца страны.mysql как установить значение по умолчанию столбца во время выполнения sql

mysql -u root -p newDatabase < dump_sql_file.sql 

Как установить значение столбца по умолчанию country = «US» во время выполнения команды выше?

изменение схемы таблицы

country varchar(20) not null default "US" 

неприемлем, так как база данных жив и используется другими.

Трудный способ - изменить файл SQL, добавив столбец страны для каждой команды create и insert. Этого мы и хотим избежать. Есть ли какие-либо инструменты, такие как SQL-парсер, который позволяет пользователю манипулировать файлами SQL?

Спасибо.

ответ

0

Хотя бы INSERT S немного медленнее, один из способов сделать это было бы написать BEFORE INSERT триггеры для таблиц, которые имеют country колонку и установите значение перед строкой Вставляется.

Here документация для BEFORE INSERT триггер.

Смежные вопросы