Когда я запускаю этот запросНевозможно удалить уникальный индекс из таблицы
ALTER TABLE "dbo"."ROOM" DROP INDEX "UNIQUE";
Я получил это сообщение:
Ошибка 1018: Неправильный синтаксис около 'INDEX'. Если это предназначено как часть подсказки таблицы, теперь требуется ключевое слово A WITH и скобки. См. SQL Server Books Online для правильного синтаксиса.
Название уникального индекса, справедливо, UNIQUE
. Я думаю, что это проблема, и это автогенерированное имя (для клиента SQL Server, который использовался для создания этого индекса). Это предложение для создания таблицы:
CREATE TABLE "ROOM" (
"ID" BIGINT NOT NULL DEFAULT NULL,
//the rest of the columns...
"ROOM" VARCHAR(100),
UNIQUE INDEX "UNIQUE" ("ROOM")
)
;
Любая идея, как удалить этот индекс? Я знаю, что могу отбросить стол и создать его снова, я хочу этого избежать.
«Название уникального индекса, справедливо, УНИКАЛЬНО». Это ужасное имя для индекса. Я бы использовал 'idx_room_room' или' idxu_room_room' для имени индекса. –
Почему у вас есть идентификатор столбца, определенный как NOT NULL со значением по умолчанию NULL ???? Это совершенно не имеет смысла. Эта вещь кричит о том, что она серьезно нуждается в полной редизайне. –
«и это автогенерированное имя»: я готов сделать ставку на все, что SQL Server не автоматически генерирует имя «Уникальный» для вашего индекса. –