mysql 中如何给已存在的表中字段增设置主键?

mysql 中如何给已存在的表中字段增设置主键?,第1张

首先你必须把name的条件改为not

null

alter

table

mytable_1

alter

column

name

char(1)

not

null

然后可以把原主键删除,再重新增加主键。

alter

table

mytable_1

drop

constraint

PK_mytable_1(主键名字)

alter

table

mytable_1

add

constraint

PK_mytable_1

primary

key(id,name)

例如:

已有一个表test_key,其中a1列为主键。

create

table

TEST_KEY

(

a1

VARCHAR2(3)

not

null,

a2

VARCHAR2(3),

b1

VARCHAR2(3),

b2

VARCHAR2(3)

)

alter

table

TEST_KEY

add

constraint

PK_TEST_KEY

primary

key

(A1)

using

index

现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:

alter

table

TEST_KEY

drop

constraint

PK_TEST_KEY

cascade

alter

table

TEST_KEY

add

constraint

PK_TEST_KEY

primary

key

(A1,

A2,

B1)

using

index

这样就可以了。

例如:\x0d\x0a已有一个表test_key,其中a1列为主键。\x0d\x0acreate table TEST_KEY\x0d\x0a(\x0d\x0a a1 VARCHAR2(3) not null,\x0d\x0a a2 VARCHAR2(3),\x0d\x0a b1 VARCHAR2(3),\x0d\x0a b2 VARCHAR2(3)\x0d\x0a)\x0d\x0a \x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1)\x0d\x0a using index\x0d\x0a \x0d\x0a现在要将a2,b1也增加到主键中与原有的a1一起组成复合主键。语句如下:\x0d\x0aalter table TEST_KEY\x0d\x0a drop constraint PK_TEST_KEY cascade\x0d\x0aalter table TEST_KEY\x0d\x0a add constraint PK_TEST_KEY primary key (A1, A2, B1)\x0d\x0a using index\x0d\x0a \x0d\x0a这样就可以了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11793145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存