當前位置:首頁 » 編程語言 » sql修改primarykey
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql修改primarykey

發布時間: 2023-05-14 08:46:20

sql Server怎樣用sql語句修改一個表中主鍵欄位(它同時又是另一個表的外鍵及主鍵)的欄位類型

要修改主鍵和外鍵的話需要先指定主鍵和外鍵的名稱,以後修改時要用到。
這是的主鍵和外鍵為:

修改的sql語句:
--修改主鍵的名稱PK_myTest為PK_myTest22
alter table myTest drop constraint PK_myTest
alter table myTest add constraint PK_myTest22 primary key(aa)
--修改外鍵的名稱fk_myTest為fk_myTest22
alter table myTest drop constraint fk_myTest
alter table myTest add constraint fk_myTest22 foreign key(bb) references test!

㈡ SQL怎樣用命令設置主鍵

可以參考下面的方法:

建表的時候,可以直接在列名後面增加主鍵約束,比如:

IDchar(5)primarykey。

對已經建表的列增加主鍵約束:

alter table 表名addconstraint約束名 primary key (ID)

(2)sql修改primarykey擴展閱讀:

sql語句

添加主鍵

Alter table tabname add primary key(col)

刪除主鍵

Alter table tabname drop primary key(col)

創建索引

create [unique] index idxname on tabname(col….)

刪除索引

drop index idxname

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

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

㈣ SQL PRIMARY KEY 約束介紹


PRIMARY KEY 約束唯一標識資料庫表中的每條記錄。
每個表都應該有一個主鍵,並且每個表只能有一個主鍵。主鍵必須包含唯一的值,且主鍵列不能包含 NULL 值。



SQL PRIMARY KEY Constraint on CREATE TABLE
下面的譽段毀 SQL 在 Persons 表創建時在 Id_P 列創建 PRIMARY KEY 約束:
MySQL:
CREATE TABLE Persons
(Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P))
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(Id_P int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255))
如果需要命名 PRIMARY KEY 約束,以及為多個列定義 PRIMARY KEY 約束,請使用下面的 SQL 語法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName))


SQL PRIMARY KEY Constraint on ALTER TABLE
如果在表已存在的情況下為 Id_P 列創建 PRIMARY KEY 約束,請使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)
如果需慶備要命名 PRIMARY KEY 約束,以及為多個列定燃談義 PRIMARY KEY 約束,請使用下面的 SQL 語法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
注釋:如果您使用 ALTER TABLE 語句添加主鍵,必須把主鍵列聲明為不包含 NULL 值(在表首次創建時)。


撤銷 PRIMARY KEY 約束
如需撤銷 PRIMARY KEY 約束,請使用下面的 SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

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

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

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

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

㈥ 用SQL腳本修改表的的主鍵問題

不知道你什麼資料庫.
假如是
SQL
Server
的話,
主鍵必須先非空
1>
CREATE
TABLE
test_tab
(
2>
id
INT,
3>
name
VARCHAR(10),
4>
age
INT,
5>
val
VARCHAR(10)
6>
);
7>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go
消息
8111,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1

無法在表
'test_tab'
中可為空的列上定義
PRIMARY
KEY
約束。
消息
1750,級別
16,狀態
1,伺服器
HOME-BED592453C\SQLEXPRESS,第
1

無法創建約束。請參閱前面的錯誤消息。
首先對
id
這個列,增加一個
NOT
NULL
約束,然後再設置為主鍵。
1>
ALTER
TABLE
test_tab
2>
ALTER
COLUMN
id
INT
NOT
NULL;
3>
go
1>
ALTER
TABLE
test_tab
2>
ADD
CONSTRAINT
pk_test_tab
PRIMARY
KEY(id);
3>
go

㈦ sql違反了primary+key約束怎麼解決

你好,提供兩個解決方案,供參考:

  1. 從資料庫層面避免。如果要完全避免主鍵約束,並且業務邏輯設計允許該表不唯一,可以刪除主鍵索引,建立普通索引。

  2. 從代碼邏輯層面控制,這是普遍做法。插入數據據之前,先查詢數據是否存在,不存在才插入,或者報主鍵沖突異常,返回頁面數據已存在提示。

㈧ 急!sql server欄位primary key 如何去掉

這樣吧,如果表裡面沒有數據,可以考慮把這個欄位刪除,然後再添加上去:
--刪除學號欄位
alter table 表名 drop column xuehao
--添加新的欄位
alter table 表名 add xuehao int

如果表裡有數據,那麼並且梁謹羨沒有被外鍵i引用
首先你的use進入資料庫然後先select * from sysobjects where xtype='PK'看看都橡拍已經設置了哪些主鍵,並且找到這個表的主鍵的名晌派字刪除:alter table 表名 drop constraint 主鍵名sqlserver2008沒有問題,別的版本的不太清楚

㈨ sql 修改欄位類型

altertable表名altercolumn欄位名typenotnull。

1、修改欄位名:

altertable表名renamecolumnAtoB。

2、修改欄位默認值:

altertable表名adddefault(0)for欄位名withvalues,如果欄位有默認值,則需要先刪除欄位的約束,在添加新的默認值。

3、增加欄位:

altertable表名add欄位名typenotnulldefault0。

5、刪除欄位:

altertable表名dropcolumn欄位名。

(9)sql修改primarykey擴展閱讀:

alter其他用法

1.重命名表

ALTERTABLE【表名字】RENAME【表新名字】

2.刪除表中主鍵

AlterTABLE【表名字】dropprimarykey

3.添加主鍵

ALTERTABLEsj_resource_chargesADDCONSTRAINTPK_SJ_RESOURCE_CHARGESPRIMARYKEY(resid,resfromid)

4.添加索引

ALTERTABLEsj_resource_chargesaddindexINDEX_NAME(name);

5.添加唯一限制條件索引

ALTERTABLEsj_resource_chargesadniqueemp_name2(cardnumber);

6.刪除索引

_name;

7.聯合唯一索引

_NAME(school_id,settlement_time);

(user_id,user_name)

㈩ sql怎麼設置主鍵

1.主鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno) );
②修改時:ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
前提是原先沒有設置主鍵。
2.外鍵語法
①創建時:create table sc (
studentno int,
courseid int,
score int,
foreign key (courseid) );
②修改時:
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[約束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用組合主鍵
如果一列不能唯一區分一個表裡的記錄時,可以考慮多個列組合起來達到區分表記錄的唯一性,形式
①創建時:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改時:alter table tb_name add primary key (欄位1,欄位2,欄位3);
前提是原來表中沒有設置主鍵,若原先已有主鍵則會報錯。