| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Модификация таблиц |
| Автор: Berliner 17.3.2006, 12:11 | ||
Здраствуйте ! Хочу модифицировать таблицу следующим образом
Я так понимаю - не может модифицировать таблицу так как pub_name null и Primary Key несовместимы А поставивив pub_name char(20) not null PRIMARY KEY (pub_name) несовместимы при модификации таблицы должно позвалять ставить null Как модифицировать таблицу чтобы pub_name сделать как primary key, подскажите плиз |
| Автор: LSD 17.3.2006, 12:24 |
| Первичный ключ это уникальный идентификатор записи в таблице, соответсвенно null он быть не может никак. Поэтому надо менять логику. Зачем тебе понадобилось делать первичный ключ null? Скорее всего тебе надо вместо естественного первичного ключа, использовате синтетический. |
| Автор: Berliner 17.3.2006, 13:27 | ||||||
Да я знаю.
Дело в том что так тоже не работает Можно разве что удалить столбец и заново создать столбец с правильной структурой. Так ведь нормально?
|
| Автор: Darhazer 17.3.2006, 13:39 | ||||
БД у тебя какая? В MySQL помойму надо так:
А еще если добавляеш KEY:
|
| Автор: chief39 17.3.2006, 15:02 |
| Если надо модифицировать столбец(растянуть varchar, etc.), то следует: - создать новый временный столбец(аналогичный имеющемуся) - скопировать в него данные из нашего апдэйтом - уничтожить наш - создать наш с новыми характеристиками - скопировать в него данные из временного апдэйтом - дропнуть временный Если на нём висит примари ки - в самом начале дропнуть примари ки и в самом конце создать его заново Но только без наллов ЗЫ: Это стандарно. Может в некоторых СУБД можно изменять столбец не пересоздавая и не храня данные во временном |