Я столкнулся с этим сообщением об ошибке, когда я
пытался запустить инструкцию ALTER TABLE MODIFY
Версия базы данных Oracle 11.2.0.1, я
пытался запустить команду ALTER TABLE MODIFY и
получил эту ошибку.
Попробую показать причину этой ошибки и шаги решения
ее.
1. Создадим таблицу cities:
CREATE TABLE cities ( city_id number(10), city_name varchar2(150) );
2. Добавим в нее данные:
INSERT into cities (city_id , city_name) values (34, 'ISTANBUL');
3. Изменим поле в таблице:
ALTER TABLE cities MODIFY city_id varchar2(15);
Получаем ошибку:
ORA-01439: column to be modified must be empty to change datatype
ORA-01439: column to be modified must be empty to change datatype
You can only modify the datatype of a column whose values are all NULL.
Вы можете поменять тип колонки если она пустая NULL.
Решение:
UPDATE cities SET city_id = NULL; или DELETE FROM cities или Truncate table cities
Теперь вы можете сменить тип поля.
Комментарии
Отправить комментарий