SQL(访问) - 向复合主键添加新字段

Max*_*ams 1 sql ms-access database-design

我有一个名为table1的表,它有一个使用'ScreenId'和'ActivityItemId'的复合主键.我添加了一个新字段'ProductId',它有一个NOT NULL约束.我想将ProductId添加到复合主键.

我认为这会奏效

db.execute"ALTER TABLE table1 PRIMARY KEY(ScreenId,ActivityItemId,ProductId)"

但我得到一个错误,我认为这种语法只有在创建表时才有效.

任何人都可以帮我解决SQL问题吗?(我不能在这里使用视觉基本解决方案顺便说一下,我实际上是使用ruby接口来运行sql,所以它只需要在SQL中)

谢谢最大

Ser*_*sev 6

尝试删除当前的主键,然后创建一个新的主键:

ALTER TABLE table1 DROP CONSTRAINT pk_name

ALTER TABLE table1 ADD CONSTRAINT pk_name PRIMARY KEY(ScreenId,ActivityItemId,ProductId)