VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1037|回复: 8

请问如何修改SQL主键列的值?

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-30 01:20:01 | 显示全部楼层 |阅读模式
例如有个表
create table Province
(
   ProID int primary key,
   ProName varchar(20) not null
)
插入的数据为:(1,广州)
那么如何用SQL语句修改主键值呢,使其变成(2,广州)
在线等待中...
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-3-5 13:15:01 | 显示全部楼层
有外鍵引用該主鍵嗎?
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-3-5 16:00:02 | 显示全部楼层

update Province set ProID=2
where ProID=1
回复

使用道具 举报

0

主题

211

帖子

108.00

积分

新手上路

Rank: 1

积分
108.00
发表于 2020-3-5 16:45:01 | 显示全部楼层
create table Province
(
   ProID int primary key,
   ProName varchar(20) not null
)
insert Province select 1, '广州'

update Province set ProID=2
where ProID=1

select * from Province

--result
ProID       ProName              
----------- --------------------
2           广州

(1 row(s) affected)
回复

使用道具 举报

0

主题

21

帖子

15.00

积分

新手上路

Rank: 1

积分
15.00
发表于 2020-3-7 22:45:01 | 显示全部楼层
确定主键不冲突,且没有外键引用该主键的话就
update Province set ProID=2
where ProID=1 and ProName like '广州'
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-9 23:00:02 | 显示全部楼层
谢谢楼上的,突然间想错了...
那如果有外键引用该怎么办啊?
回复

使用道具 举报

0

主题

14

帖子

13.00

积分

新手上路

Rank: 1

积分
13.00
发表于 2020-3-10 09:45:02 | 显示全部楼层
将外键关系设置成 on update cascade 的,直接更新主表主键,从表的外键会自动级联更新的
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-17 17:15:01 | 显示全部楼层
明白了..谢谢..
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-4-2 16:15:01 | 显示全部楼层
无外键的情况,随意
有外键的情况下,需要级联
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表