SQL>
CREATE
TABLE
test_tab
(
2
id
INT,
3
name
VARCHAR(10),
4
age
INT,
5
val
VARCHAR(10)
6
)
Table
created.
SQL>
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>
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
MySQL
mysql>
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
可以参考下面的方法:
建表的时候,可以直接在列名后面增加主键约束,比如:
IDchar(5)primarykey。
对已经建表的列增加主键约束:
alter table 表名 add constraint 约束名 primary key (ID)
扩展资料:
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语句
mysql设置主键的代码是PRIMARY KEY (主键字段)。
如:CREATE TABLE Customer (SID integer,Last_Name varchar(30),First_Name varchar(30),PRIMARY KEY (SID))。
主关键字(主键,primary key)是被挑选出来,作表的行的唯一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。
扩展资料:
永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)