㈠ 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约束怎么解决
你好,提供两个解决方案,供参考:
从数据库层面避免。如果要完全避免主键约束,并且业务逻辑设计允许该表不唯一,可以删除主键索引,建立普通索引。
从代码逻辑层面控制,这是普遍做法。插入数据据之前,先查询数据是否存在,不存在才插入,或者报主键冲突异常,返回页面数据已存在提示。
㈧ 急!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);
前提是原来表中没有设置主键,若原先已有主键则会报错。