首先需要保證需要改為主鍵的列的已存在的值不能有空或者重復的,比如修改sno表的stu為主鍵的代碼為:
Alter table sno alter column stu char(6) not null;
Alter table sno add constraint pk_stu primary key (stu)。
Ⅱ 添加主鍵約束的sql語句
他逐漸約束的這個語句的話,你可以根據他的程序要求去添加,這樣不就可以達到你使用的快捷及方便的程序
Ⅲ SQL資料庫里怎麼修改主鍵約束!!跪求
首先只能添加99樣東西,不能多添加不是違反主鍵約束的問題。
然而主鍵是一個表的唯一確定值,刪除了肯定會出錯。
樓主應該查看其它的約束條件,就直接查看行的約束條件!
Ⅳ 用SQL語句創建一個臨時表,建立主鍵約束,並驗證主鍵約束是否可以被修改。
create table #temp(id int identity(1,1) primary key,name nvarchar(6))
insert #temp (name)
select 'aa'
union all
select 'bb'
select * from #temp
update #temp set id=11 where id=1
消息
消息 8102,級別 16,狀態 1,第 2 行
無法更新標識列 'id'。
結論:臨時表可以有主鍵約束,但不能被更新
Ⅳ SQL怎樣用命令設置主鍵
可以參考下面的方法:
建表的時候,可以直接在列名後面增加主鍵約束,比如:
IDchar(5)primarykey。
對已經建表的列增加主鍵約束:
alter table 表名addconstraint約束名 primary key (ID)
(5)sql重建主鍵約束擴展閱讀:
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 添加主鍵
操作步驟如下:
1、首先我們在這個StudentNo列上用你的滑鼠右擊,然後選擇裡面的修改,進行點擊,彈出
界面。
Ⅷ SQL server 中創建主鍵約束為什麼說已定義主鍵
SQL的主鍵和外鍵的作用:
外鍵取值規則:空值或參照的主鍵值。
(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。
(2)更新時,不能改為主鍵表中沒有的值。
(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯刪除還是拒絕刪除。
(4)更新主鍵記錄時,同樣有級聯更新和拒絕執行的選擇。
簡而言之,SQL的主鍵和外鍵就是起約束作用。主鍵、外鍵和索引的區別
定義:
主鍵--唯一標識一條記錄,不能有重復的,不允許為空
外鍵--表的外鍵是另一表的主鍵, 外鍵可以有重復的, 可以是空值
索引--該欄位沒有重復值,但可以有一個空值
作用:
主鍵--用來保證數據完整性
外鍵--用來和其他表建立聯系用的
索引--是提高查詢排序的速度
個數:
主鍵--主鍵只能有一個
外鍵--一個表可以有多個外鍵
索引--一個表可以有多個唯一索引所以得出結論:約束確定已定義主鍵。
Ⅸ 如何定義SQL主鍵
在SQL資料庫中,如何定義SQL主鍵是經常要遇到的問題,下面將為您介紹兩種定義SQL主鍵的方法,供您參考,希望對那您有所幫助。
SQL主鍵是資料庫表的一個重要屬性,建立主鍵可以避免表中存在完全相同的記錄,也就是說SQL主鍵在一張表中的記錄值是唯一的。
建立SQL主鍵有兩種方法:一種是在資料庫提供的GUI環境中建立,另一種是通過SQL語句執行建立,下面分別介紹。
1.在資料庫提供的GUI環境中建立(以SQL7為例)。
輸入表信息後按Ctrl鍵同時選中多行,然後點上面的主鍵按鈕就行了。
2.通過SQL語句執行建立。又分兩種,一是在建表語句中直接寫,二是建表之後更改表結構。
在建表語句中直接寫:
Create Table 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null Primary Key (欄位名1, 欄位名2),
欄位名3…………
欄位名N………… )
建表之後更改表結構:
CREATE TABLE 表名 (欄位名1 Int Not Null,
欄位名2 nvarchar(13) Not Null
欄位名3…………
欄位名N…………)
GO
ALTER TABLE 表名 WITH NOCHECK ADD
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED
(
[欄位名1],
[欄位名2]
)
GO
【】
2.使用SQL語句創建主鍵約束
使用SQL語句創建主鍵約束可以在創建表(Create Table)或修改表(Alter Table)時進行 創建。
在修改表中創建主鍵約束語法:
ALTER TABLE table_name
ADD
CONSTRAINT constraint_name
PRIMARY KEY [CLUSTERED | NONCLUSTERED]
{(Column[,…n])}
參數說明:
CONSTRAINT:創建約束的關鍵字。
constraint_name:創建約束的名稱。
PRIMARY KEY:表示所創建約束的類型為主鍵約束。
CLUSTERED | NONCLUSTERED:是表示為PRIMARY KEY或UNIQUE約束創建聚集或非聚集索引的關鍵字。PRIMARY KEY約束默認為CLUSTERED,UNIQUE約束默認為 NONCLUSTERED。
下面在指定的資料庫中創建一個名為mytable的數據表,並在該數據表中將「userid」列設置為主鍵。
操作步驟:
(1)在操作系統中選擇「開始」→「所有程序」→「Microsoft SQL Server」→「查詢分析器」命令,打開查詢分析器。
(2)在查詢分析器的工具欄中選擇要連接的資料庫。
(3)在代碼編輯區中編寫如下代碼。
SQL語句如下:
USE 銷售管理系統 --引入資料庫
GO
CREATE TABLE mytable --創建表
(
USERID int CONSTRAINT pk_id PRIMARY KEY, --創建主鍵約束
USERNAME char (20), --數據列
USERPASS char (20), --數據列
USERPHONE char (20), --數據列
USERADDRESS varchar (50), --數據列
USERLEVEL char(2) --
Ⅹ oracle用sql腳本刪除原來的主鍵,再新建主鍵,新主鍵是原來主鍵的基礎上新增一個欄位,求大蝦幫忙
先刪除現有主鍵:
alter table devuser.tb_term_info drop primary key;
再新增欄位:
alter table devuser.tb_term_info add column attr_fg;
重新建立主鍵:
alter table devuser.tb_term_info
add primary key (time, numer_sq, system_id, system_type_id,attr_fg)
using users
tablespace IDX_TS_BUSIS_ONLINE
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
注意要有對devuser用戶表的相應的操作許可權才行