У меня есть таблица под названием table1, которая имеет составной первичный ключ с использованием «ScreenId» и «ActivityItemId». Я добавил новое поле «ProductId», которое имеет ограничение NOT NULL. Я хочу добавить ProductId в составной первичный ключ.SQL (access) - добавить новое поле в составной первичный ключ
Я думал, что это будет работать
db.execute "ALTER TABLE table1 PRIMARY KEY (ScreenId, ActivityItemId, ProductID)"
, но я получаю сообщение об ошибке, я думаю, что этот синтаксис работает только при создании Таблица.
Может ли кто-нибудь помочь мне с SQL? (Я не могу использовать визуальный базовое решение здесь кстати, я на самом деле с помощью интерфейса рубиновый, чтобы запустить SQL, поэтому он должен быть только в SQL)
благодаря Макс
Thanks Hawx - но я получаю эту ошибку Код ошибки OLE: 80004005 в Microsoft JET Database Engine Ограничение CHECK 'Первичный ключ' не существует. Я запускал это - может быть, это не правильный синтаксис? "ALTER TABLE table1 DROP CONSTRAINT [PrimaryKey]" –
Вместо [Первичный ключ] используйте имя основного ключа. –
ах я вижу, квадратные скобки, как в «вставить переменную здесь» \ п Еще не повезло я не боюсь - я буду выполнение этого:. ALTER TABLE DROP CONSTRAINT активность ScreenId и я получаю эту ошибку назад Ограничение CHECK 'ScreenId' не существует. ScreenId определенно является одним из основных полей ключа в этой таблице. Это база данных доступа - существует ли другой синтаксис для доступа, возможно? спасибо большое - max –