PRIMARY KEY 数据库 主键约束

RIMARY KEY 数据库 主键约束

数据库主键约束
的主键约束唯一识别每个记录在一个数据库表。

主键必须包含独特的价值。

主键列不能包含空值。

每个表应该有一个主键,每个表只能有一个主键。

数据库主键约束创建表
下列SQL创建一个主键上的“ P_Id ”一栏时, “人”是创建表:

MySQL的:

CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
 
为了让命名的主键约束,并确定一个主键约束多列,请使用下面的SQL语法: CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
数据库主键约束改变表要创建一个主键约束的“ P_Id ”一栏时,表是已经建立,请使用下面的SQL :

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
 
为了让命名的主键约束,并确定一个主键约束多列,请使用下面的SQL语法:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
 
注意:如果您使用ALTER TABLE有关声明中添加一个主键,主键列(星期日)必须已经被宣布为不包含空值(表时,首次建立) 。下降的一个主要关键的制约因素放弃一个主键约束,使用下列SQL : MySQL的:ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

时间: 2024-12-25 10:26:57

PRIMARY KEY 数据库 主键约束的相关文章

oracle的主键约束添加删除

oracle的主键约束添加删除 1.创建表的同时创建主键约束一.无命名create table accounts (accounts_number number primary key,accounts_balance number);二.有命名 create table accounts (accounts_number number primary key,accounts_balance number,constraint yy primary key(accounts_number));

sql-MySQL 主键约束用约束名无法删除,新手求解答

问题描述 MySQL 主键约束用约束名无法删除,新手求解答 环境 MySQL5.5,如图创建一个表. 先加个主键约束 然后用约束名再删除主键约束 用约束名删除报错,后来又试了下不用约束名 这次成功了,求教大家怎么用约束名删除主键约束啊!希望能详细解答一下两者结果不同的原因,不胜感激! 解决方案 mysql 中删除约束的语法: ALTER TABLE TABLE_name DROP [COLUMN] col_name DROP PRIMARY KEY DROP INDEX index_name D

duplicate-mysql存储过程报错,报的联合主键约束错误

问题描述 mysql存储过程报错,报的联合主键约束错误 Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '5RgwDTn5zeAoPM1yXxeRkm-YUseiccsUNQxcQeBPK3Td3' for key 'PRIMARY' ### The error may involve defaul

oracle删除主键查看主键约束及创建联合主键_oracle

1,主键的删除 ALTER TABLE TABLENAME DROP PRIMARY_KEY 执行上面的SQL可以删除主键:如果不成功可以用 ALTER TABLE TABLENAME DROP CONSTRAINTS COLUMN CASCADE; --删除约束 ALTER TABLE TABLENAME DISABLE PRIMARY_COLUMN ; --设置被设置为主键的列为无效 DROP INDEX INDEX_NAME; --删除主键索引 2,查看主键约束 SELECT * FROM

sql server-编程时,是如何解决 SQL SERVER 主键约束导致的问题的?

问题描述 编程时,是如何解决 SQL SERVER 主键约束导致的问题的? 我在做项目的时候遇到这样的问题. 数据库设置了两张表,一张是主键表,另一张是外键表. 问题就来了,如果我在主键表中删除一行记录,由于外键表存在相应的记录, 数据库就会拒绝执行这条 DELETE 查询. DELETE 语句与 REFERENCE 约束"FK_ipaddress_serverlib"冲突.该冲突发生于数据库"XiangLongDatabase",表"dbo.ipaddr

mysql-MySQL 无法撤销主键约束

问题描述 MySQL 无法撤销主键约束 无法撤销主键约束 解决方案 http://www.imooc.com/qadetail/98776 解决方案二: 清理数据后再试试,遇到问题要多尝试尝试.总会自己琢磨出解决办法的

cvs 数据库 主键外键-CVS格式文件数据导入新数据库后自动生成主键外键

问题描述 CVS格式文件数据导入新数据库后自动生成主键外键 以前将数据库中的数据导出来了,后来手贱把给数据库毁了. 现在希望通过以前导出来的CVS文件数据恢复以前的数据库,最好是自动的,主键外键自动关联自动生成[里边表实在太多了]. 什么数据库都行,什么MySQL.SQLServer都可以,只求能重建以前的数据库啊! 不知道各位大神有没有可行的办法啊? 解决方案 没办法,只有数据.需要添加SQL语句

PostgreSQL数据库中没有主键的表增加主键

PostgreSQL数据库测试环境中有多张表没有添加主键约束,只有一个serial的自增字段.现在需要把那些没有主键的表都加上,serial类型的字段为id . 首先是怎么找到PostgreSQL数据库中哪些表没有主键?我们看下pg_class这个表,里面有个relhaspkey字段,如果为t说明有主键,f即没有主键.例如下面这个sql . SELECT n.nspname AS "Schema",c.relname AS "Table Name",c.relhas

mysql外键约束使用详解

MySQL有两种常用的引擎类型:MyISAM和InnoDB.目前只有InnoDB引擎类型支持外键约束.InnoDB中外键约束定义的语法如下: [CONSTRAINT [symbol]] FOREIGN KEY     [index_name] (index_col_name, ...)     REFERENCES tbl_name (index_col_name,...)     [ON DELETE reference_option]     [ON UPDATE reference_opt