изменить тип данных столбца - PullRequest
1 голос
/ 26 декабря 2011

Мне нужно изменить тип данных столбца в одной моей таблице, но эта таблица содержит данные, моя проблема в том, что я не могу очистить таблицу, чтобы выполнить свою задачу, поэтому мне нужно изменить тип данных столбца без опустошениястол.

Что я могу сделать?

Ответы [ 2 ]

2 голосов
/ 26 декабря 2011

Ваш лучший выбор здесь - создать новую таблицу new_table с соответствующими столбцами.

После создания вставьте в эту таблицу значения существующей таблицы table так, как вы этого хотите.Только после этого повторно вводите ограничения и т. Д. (Если вы сделаете это перед вставкой, вы снизите производительность вставки).

После этого переименуйте table в old_table и new_table в table.

Конечно, вы должны сделать это с вашим приложением в автономном режиме.

0 голосов
/ 26 декабря 2011

пробовали ли вы изменить таблицу

ALTER TABLE table_name
MODIFY column_name column_type;

Тип данных столбцов text, ntext и image можно изменить только следующими способами:

  • text до varchar(max), nvarchar(max) или xml
  • ntext до varchar(max), nvarchar(max) или xml
  • image до varbinary(max)

Для других преобразований вам придется делать кастинг. См. http://technet.microsoft.com/en-us/library/ms187928.aspx для кастинга

...