當前位置:首頁 » 編程語言 » sql修改主鍵

sql修改主鍵

發布時間: 2022-02-12 06:46:28

1. sql語句如何修改主鍵欄位的欄位類型類型

首先,修改主鍵欄位的欄位類型,肯定是要先刪除主鍵才能操作的
--【1.查找主鍵】
--SQLSERVER
select name as pkName from dbo.sysobjects where xtype='PK' and parent_obj=(select id from dbo.sysobjects where name='表名')
--ORACLE
SELECT CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME = UPPER('表名') AND CONSTRAINT_TYPE ='P'
--【2.刪除主鍵約束】
ALTER TABLE 表名 DROP CONSTRAINT 約束名
--ORACLE
--刪除主鍵連同索引
ALTER TABLE 表名 DROP CONSTRAINT 約束名 CASCADE DROP INDEX;
或者
ALTER TABLE 表名 DROP PRIMARY KEY CASCADE DROP INDEX;--【3.修改欄位】
--【先把這一列的值備份到臨時列里,再把這一列update成null,再修改類型,再把數據拷貝回來】
--SQLSERVER
--默認值單獨處理,關聯約束
--默認值的變更涉及到約束,如有約束,需要先查詢出越是再進行刪除
ALTER TABLE 表名 DROP CONSTRAINT 約束名
ALTER TABLE 表名 ALTER COLUMN 欄位名 欄位類型(長度精度) 是否為空
ALTER TABLE 表名 ADD CONSTRAINT 約束名 DEFAULT 默認值 FOR 欄位名
--ORACLE
--刪除默認值:default null
ALTER TABLE 表名 MODIFY COLUMN 欄位名 VARCHAR2(20) DEFAULT ' ' NOT NULL--【4.新增主鍵】
--指定主鍵名字
ALTER TABLE 表名 ADD CONSTRAINT 主鍵名 PRIMARY KEY (F1,F2);
--未指定主鍵名字
ALTER TABLE 表名 ADD PRIMARY KEY (F1,F2)

2. sql server 2000如何修改主鍵欄位

最簡單的方法是用企業管理器直接修改數據類型。 如下是使用T-SQL(SQL 2000)修改的語句:
alter table TableName drop constraint PK_TableName --PK_TableName原主鍵名稱,刪除原來的主鍵
go
alter table TableName alter column [username] varchar(10) not null --修改數據類型
go
alter table TableName add constraint PK_TableName primary key clustered([username]) --重新創建主鍵

3. SQL表主鍵可不可以修改update

ifobject_id('primarytbl')isnotnull
droptableprimarytbl
go

--建主表
createtableprimarytbl
(
IDintprimarykey,--主鍵
aaint,
bbint,
ccint
)
go

ifobject_id('foreigntbl')isnotnull
droptableforeigntbl
go

--建外表
createtableforeigntbl
(
IDintprimarykey,--主鍵
aaint
(ID)--建立外鍵
onupdatecascade,--更新級聯
ddint,
eeint
)
go

--插入主表數據
insertintoprimarytbl
select1,1,2,3unionall
select2,2,3,4unionall
select3,3,4,5unionall
select4,4,5,6unionall
select5,5,6,7unionall
select6,6,7,8
go

--插入外表數據
insertintoforeigntbl
select1,1,2,2unionall
select2,1,3,3unionall
select3,2,4,4unionall
select4,2,4,4unionall
select5,2,5,5unionall
select6,3,6,6unionall
select7,4,7,7
go

--顯示主外表信息
select*
fromprimarytbl

select*
fromforeigntbl
go
--primarytbl
/*
IDaabbcc
--------------------------------------------
1123
2234
3345
4456
5567
6678
--foreigntbl
IDaaddee
--------------------------------------------
1122
2133
3244
4244
5255
6366
7477
*/

--更新主表主鍵
updateprimarytbl
setID=8
whereID=1
go

--結果
select*
fromprimarytbl

select*
fromforeigntbl
go

/*
--primarytbl
IDaabbcc
--------------------------------------------
2234
3345
4456
5567
6678
8123
--foreigntbl
IDaaddee
--------------------------------------------
1822
2833
3244
4244
5255
6366
7477
*/

droptableforeigntbl
droptableprimarytbl

4. 如何更改SQL資料庫中的主鍵數據

主鍵就是用來標識每條記錄的,它必須具有唯1性,同時它也具有唯1聚集索引的功能,方便查找記錄,用主鍵查找記錄是最高效的,但是主鍵不1定是單唯一列,可以由多列共同組成主鍵

5. sql,怎麼修改主鍵(原主鍵未知)

不用刪除,直接就是修改。alter table....

6. SQL怎樣用命令設置主鍵

我現在發現使用較少的語句也可以啦,比如:alter
tabler
badd
primary
key(id)將表b中的欄位id設為主鍵這個方法和你的視覺上的效果是一樣的,就是不曉得內部是否一樣的。

7. sqlyog如何修改主鍵名稱

三種方法:
1.直接寫sql語句.
2.用SQLyog 選擇外鍵表 ,點擊右鍵 選擇關聯/外鍵,然後再選擇主表,外鍵.
3.在表 vet_specialties 上點擊右鍵 ,然後找到Relationships/ForeignKeys中,然後選擇相應的列。
或者直接寫命令:
ALTER TABLE vet_specialties ADD FOREIGN KEY FK_SPECIALTY_ID(specialty_id) REFERENCES specialties (id)
ALTER TABLE vet_specialties ADD FOREIGN KEY FK_VET_ID(vet_id) REFERENCES vets (id)

8. sql語句如何修改主鍵,請舉個小例子.

補充2:我找到了約束名,已經刪除,但在添加的時候又出問題了,意思說不能在可以為空的欄位上創建primary key約束,那麼應該怎樣改?????????

你修改的為主鍵的列 以前在建表的時候默認是可以NULL的,你把DEFAULT NULL
或者把表結構上的對應列的NULL的勾去掉就可以加主鍵了

不能在可以為空的欄位上創建primary key約束的。。

9. sql --表建好後,想改主鍵.用sql語句怎樣寫

分2步,先刪除原來的,再建新的
1、ALTER TABLE table_name DROP PRIMARY KEY (id)
說明:把主鍵的定義刪除。
ALTER TABLE table_name ADD PRIMARY KEY (no)
說明:更改表得的定義把no設為主鍵。

10. 請問如何修改SQL主鍵列的值

: "可以改,用update 就行,但是要避免主鍵值和表中現有數據沖突。 另,如果有其它表用該表主鍵做外鍵的話,也不能隨便修改主鍵值"

熱點內容
c語言字元串初始化 發布:2025-05-17 20:18:43 瀏覽:35
安卓融e聯推送需要什麼許可權 發布:2025-05-17 20:18:39 瀏覽:268
我的世界無限武魂伺服器 發布:2025-05-17 20:17:09 瀏覽:371
安卓手游腳本語言 發布:2025-05-17 19:53:07 瀏覽:21
找圈演算法 發布:2025-05-17 19:49:19 瀏覽:410
資料庫的存取方法 發布:2025-05-17 19:48:36 瀏覽:125
androidapp測試 發布:2025-05-17 19:48:19 瀏覽:389
如何修改iphone密碼修改 發布:2025-05-17 19:47:31 瀏覽:509
發現了致富密碼是什麼意思 發布:2025-05-17 19:45:42 瀏覽:416
耐存儲的紙 發布:2025-05-17 19:43:35 瀏覽:931