Удалите CHARACTER SET UNICODE_FSS из столбца в базе данных Firebird
У меня есть база данных Firebird с несколькими таблицами в ней. Есть несколько столбцов, которые были добавлены, когда база данных была создана как
alter table Machines add MachineVersion varchar(100) CHARACTER SET UNICODE_FSS
Я хочу изменить эти столбцы, чтобы удалить CHARACTER SET UNICODE_FSS
поэтому я управлял командой
alter table Machines alter column MachineVersion type VARCHAR(100)
Тем не менее, когда я открываю базу данных в SQL Manager, набор символов для этих столбцов по-прежнему UNICODE_FSS.
Есть ли другой синтаксис для второй команды, чтобы удалить CHARACTER SET UNICODE_FSS
?
2 ответа
Решение
alter table Machines alter column MachineVersion type VARCHAR(100)
Этот запрос не изменит набор символов.
Если вы хотите удалить набор символов, вы должны изменить домен, например:
update RDB$FIELDS set
RDB$CHARACTER_SET_ID = NULL
where RDB$FIELD_NAME = 'RDB$141'
Вместо RDB$141 используйте столбец домена
Можно добавить новый столбец, скопировать данные из старого столбца в новый и позже удалить старый столбец?