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中)
谢谢最大
尝试删除当前的主键,然后创建一个新的主键:
ALTER TABLE table1 DROP CONSTRAINT pk_name
ALTER TABLE table1 ADD CONSTRAINT pk_name PRIMARY KEY(ScreenId,ActivityItemId,ProductId)