首先需要保证需要改为主键的列的已存在的值不能有空或者重复的,比如修改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用户表的相应的操作权限才行