可以修改,可以一般不会去修改。因为主键是数据表中的唯一标识符,不是所有的字段都可以用来当主键的。所以一般不会去修改它。一般的方法是先删除主键约束,然后再重新添加。alter table 表名 drop constraint 主键名修改主键:alter table 表名 add constraint 主键名 primary key (column1,column2,....,column)
可以啊,但是主键必须唯一,不能和其他的一样
简单的答案:可以
复杂点的答案:
一般来说,数据库并不强制要求每张表都必须有主键(至少我用过的MySQL,DB2在创建表的时候都不要求必须指定主键)。主键的作用其实就是为了用某一列或者某几列的字段唯一确定表中的某条数据,类似于用身份证号来唯一确定某个人一样。
因为主键的作用只是用来唯一标识某条数据,那么主键自然是可以改的——只要修改后的值不与其它数据的主键重复就行了。
最后说明一下,某一列或者几列被设定为主键或者联合主键,对这一列或者几列的值只有唯二的要求:
值不能为null
值不能重复
除了这2个要求之外,主键列跟其他列的要求是一样的,没有任何区别