回答

收藏

SQL Server 2008无法删除约束

技术问答 技术问答 252 人阅读 | 0 人回复 | 2023-09-12

我正在尝试使用以下命令从表中删除主键约束
9 y- W/ V- t5 e5 XALTER TABLE SchemaName.LabourGrade DROP CONSTRAINT Labour_Grade_pk并得到错误 Labour_Grade_pk is not a constraint.5 h% d  r8 S1 j- G# t0 x
当我做
. m3 Y6 f6 M8 P( y; G" Y4 q* I) BSELECT * FROM sysobjects WHERE name = 'LabourGrade_pk'% N" O) {# _4 I+ R# ]' [
我回来了。确实有FK,所以我试着删除第一个但相同的问题。我只想删除它PK有没有更好的方法来改变列的数据类型?
8 \% t# N8 ?  F% L- F6 X                                                               
8 a$ J& ]$ o1 X4 g$ v  k" ?* g    解决方案:                                                                4 w4 O% B+ C* E. i
                                                                我只想删除PK有没有更好的方法来改变列的数据类型?
9 h  g: ?3 ~& ?/ Z' ~* s  O是的,你不需要删除它并重新创建它PK(以及相关索引)。您可以通过更改简单的元数据来完成此操作ALTER TABLE ... ALTERCOLUMN。
- F) s3 H5 E* rCREATE TABLE #T(P VARCHAR(2) PRIMARY KEY)INSERT INTO #T VALUES ('AA')ALTER TABLE #T ALTER COLUMN P VARCHAR(3) NOT NULLDROP TABLE #T
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则