如何用sql 添加主鍵
Oracle:SQL> CREATE TABLE test_tab ( 2 id INT, 3 name VARCHAR(10), 4 age INT, 5 val VARCHAR(10) 6 );Table *> ALTER TABLE test_tab 2 ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);Table altered. SQL Server 麻煩一點1> CREATE TABLE test_tab (2> id INT,3> name VARCHAR(10),4> age INT,5> val VARCHAR(10)6> );7> go1> ALTER TABLE test_tab2> 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_tab2> ALTER COLUMN id INT NOT NULL;3> go1> ALTER TABLE test_tab2> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);3> go MySQLmysql> CREATE TABLE test_tab ( -> id INT, -> name VARCHAR(10), -> age INT, -> val VARCHAR(10) -> ); -> //Query OK, 0 rows affected (0.08 sec)mysql> ALTER TABLE test_tab -> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id); -> //Query OK, 0 rows affected (0.14 sec)Records: 0 Duplicates: 0 Warnings: 0。
數據庫如何設置主鍵(ID)自動增長啊(SQL語句)
自動增長列(auto_increment) sqlserver數據庫 (identity) oracle數據庫( sequence)給主鍵添加自動增長的數值,列只能是整數類型CREATE TABLE stu(classId int primary key auto_increment,name varchar(50));auto_increment是用于主鍵自動增長的,從1開始增長,當你把第一條記錄刪除時,再插入第二跳數據時,主鍵值是2,不是1_____________________________________________________INSERT INTO student(name) values('abc');閆焱琢。
.。
sql用命令創建主鍵與外鍵
創建SQL的主鍵和外鍵約束的方法:
--在創建表時就可以對字段加上約束:
create table Student
(
StudentNo int PRIMARY KEY IDENTITY(1,1), --加主鍵約束,還有標識列屬性(兩者構成實體完整性)
StudentName nvarchar(15) not null, --加非空約束,不加"not null" 默認為:可以為空
StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外鍵約束,格式:FOREIGN KEY REFERENCES 關聯的表名(字段名)
StudentAge int DEFAULT ((0)), --加默認值約束
StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加檢查約束,格式:check (條件表達式)
)
--如果在表創建好了以后再加約束,則格式分別為:
-- 主鍵:
alter table 表名
add constraint PK_字段名--"PK"為主鍵的縮寫,字段名為要在其上創建主鍵的字段名,'PK_字段名'就為約束名
primary key (字段名) --字段名同上
--唯一約束:
alter table 表名
add constraint UQ_字段名
unique (字段名)
--外鍵約束:
alter table 表名
add constraint FK_字段名--"FK"為外鍵的縮寫
foreign key (字段名) references 關聯的表名(關聯的字段名) --注意'關聯的表名'和'關聯的字段名'
alter table 表A add constraint FK_B foreign key (ticket_no) references 表B(ticket_no)
alter table 表A add constraint FK_C foreign key (person_no) references 表C(person_no)
alter table 成績表 add constraint FK_StudentNo foreign key (StudentNo) references Student (StudentNo)
ON UPDATE CASCADE ON DELETE CASCADE
級聯更新,級聯刪除,這樣在刪除主表Student時,成績表中該學生的所有成績都會刪除。
--檢查約束:
alter table 表名
add constraint CK_字段名
check (條件表達式) --條件表達式中的條件用關系運算符連接
--默認值約束:
alter table 表名
add constraint DF_字段名
default '默認值' for 字段名--其中的'默認值'為你想要默認的值,注意'for'
--刪除創建的約束:
alter table 表名
drop constraint 約束名--約束名為你前面創建的如:PK_字段這樣的約束名
--注意:如果約束是在創建表的時候創建的,則不能用命令刪除
--只能在'企業管理器'里面刪除
參考資料 : http://**news/*
希望以上的回答能夠幫到你
數據庫如何設置主鍵(ID)自動增長啊(SQL語句)
自動增長列(auto_increment)
sqlserver數據庫 (identity) oracle數據庫( sequence)
給主鍵添加自動增長的數值,列只能是整數類型
CREATE TABLE stu(
classId int primary key auto_increment,
name varchar(50)
);
auto_increment是用于主鍵自動增長的,從1開始增長,當你把第一條記錄刪除時,再插入第二跳數據時,主鍵值是2,不是1
_____________________________________________________
INSERT INTO student(name) values('abc');
閆焱琢.