精华内容
下载资源
问答
  • SQL添加外键约束

    2021-11-05 16:24:04
    SQL添加外键约束 alter table 表 add constraint 外键约束名称 foreign key (列) references 表 (主键列);

    SQL添加外键约束
    alter table 表 add constraint 外键约束名称 foreign key (列) references 表 (主键列);

    展开全文
  • --新闻分类表 if exists(select * from sysobjects where name='NewsCategory') drop table NewsCategory go create table ...不然就会报错,这就是所谓的外键约束,这个外键约束着News表中对CatergoryId的修改。

    --新闻分类表
    if exists(select * from sysobjects where name='NewsCategory')
    drop table NewsCategory
    go
    create table NewsCategory --新闻分类
    (
    	CategoryId int  identity(1,1) primary key ,
    	CategoryName varchar(20)
    )
    go
    --新闻表
    if exists(select * from sysobjects where name='News')
    drop table News
    go
    create table News  --新闻详细表
    (
    	NewsId int  identity(1000,1)  primary key , --新闻编号
    	NewsTitle varchar(100),--标题
    	NewsContents text,--内容	
    	PublishTime datetime default(getdate()),--发布时间
    	CategoryId int references NewsCategory(CategoryId)--分类编号
    )
    go

    当对News进行操作时,对应News表中的CategoryId(分类编号)必须要在NewsCategory表中找到,不然就会报错,这就是所谓的外键约束,这个外键约束着News表中对CatergoryId的修改。

    展开全文
  • --sql语句创建表的同时添加外键约束 CREATE TABLE tb_UserAndRole --用户角色表 ( ID INT PRIMARY KEY IDENTITY(1,1), UserID INT NOT NULL,--用户ID RoleID INT NOT NULL,--角色ID foreign key(UserID) ...
    --sql语句创建表的同时添加外键约束
    CREATE TABLE tb_UserAndRole  --用户角色表
    (
      ID INT PRIMARY KEY IDENTITY(1,1),
      UserID INT NOT NULL,--用户ID
      RoleID INT NOT NULL,--角色ID
      foreign key(UserID) references tb_Users(ID)--tb_Users表的ID作为tb_UserAndRole表的外键
    )

       --2、添加外键约束(关联字段要用括号括起来)

       -- ALTER TABLE 从表

       -- ADD CONSTRAINT 约束名 FOREIGN KEY (关联字段) references 主表(关联字段);

       --例如:

      ALTER TABLE tb_UserAndRole

       ADD CONSTRAINT FK__tb_UandR_Role FOREIGN KEY (RoleID) references tb_Role(ID);

     
     

     

    转载于:https://www.cnblogs.com/xiaohong520789/p/9881283.html

    展开全文
  • 1. 创建表的同时添加外键 create table score( score int(3), st_id int(16), cs_id int(16), primary key(st_id,cs_id), FOREIGN KEY (st_id) REFERENCES student(id), FOREIGN KEY (cs_id) REFERENCES classes(id)...
  • 所以我试图将外键约束添加...我得到的错误消息是:ERROR 1215(HY000):无法添加外键约束这是我用来创建表的SQL,两个有问题的表是Patient和Appointment。SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;...

    所以我试图将外键约束添加到我的数据库作为项目需求,它在不同的表上第一次或第二次工作,但我有两个表,在尝试添加外键约束时我得到一个错误。我得到的错误消息是:

    ERROR 1215(HY000):无法添加外键约束

    这是我用来创建表的SQL,两个有问题的表是Patient和Appointment。

    SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

    SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=1;

    SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

    CREATE SCHEMA IF NOT EXISTS `doctorsoffice` DEFAULT CHARACTER SET utf8 ;

    USE `doctorsoffice` ;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`doctor`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`doctor` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`doctor` (

    `DoctorID` INT(11) NOT NULL AUTO_INCREMENT ,

    `FName` VARCHAR(20) NULL DEFAULT NULL ,

    `LName` VARCHAR(20) NULL DEFAULT NULL ,

    `Gender` VARCHAR(1) NULL DEFAULT NULL ,

    `Specialty` VARCHAR(40) NOT NULL DEFAULT 'General Practitioner' ,

    UNIQUE INDEX `DoctorID` (`DoctorID` ASC) ,

    PRIMARY KEY (`DoctorID`) )

    ENGINE = InnoDB

    DEFAULT CHARACTER SET = utf8;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`medicalhistory`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`medicalhistory` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`medicalhistory` (

    `MedicalHistoryID` INT(11) NOT NULL AUTO_INCREMENT ,

    `Allergies` TEXT NULL DEFAULT NULL ,

    `Medications` TEXT NULL DEFAULT NULL ,

    `ExistingConditions` TEXT NULL DEFAULT NULL ,

    `Misc` TEXT NULL DEFAULT NULL ,

    UNIQUE INDEX `MedicalHistoryID` (`MedicalHistoryID` ASC) ,

    PRIMARY KEY (`MedicalHistoryID`) )

    ENGINE = InnoDB

    DEFAULT CHARACTER SET = utf8;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`Patient`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`Patient` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`Patient` (

    `PatientID` INT unsigned NOT NULL AUTO_INCREMENT ,

    `FName` VARCHAR(30) NULL ,

    `LName` VARCHAR(45) NULL ,

    `Gender` CHAR NULL ,

    `DOB` DATE NULL ,

    `SSN` DOUBLE NULL ,

    `MedicalHistory` smallint(5) unsigned NOT NULL,

    `PrimaryPhysician` smallint(5) unsigned NOT NULL,

    PRIMARY KEY (`PatientID`) ,

    UNIQUE INDEX `PatientID_UNIQUE` (`PatientID` ASC) ,

    CONSTRAINT `FK_MedicalHistory`

    FOREIGN KEY (`MEdicalHistory` )

    REFERENCES `doctorsoffice`.`medicalhistory` (`MedicalHistoryID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE,

    CONSTRAINT `FK_PrimaryPhysician`

    FOREIGN KEY (`PrimaryPhysician` )

    REFERENCES `doctorsoffice`.`doctor` (`DoctorID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE)

    ENGINE = InnoDB;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`Appointment`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`Appointment` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`Appointment` (

    `AppointmentID` smallint(5) unsigned NOT NULL AUTO_INCREMENT ,

    `Date` DATE NULL ,

    `Time` TIME NULL ,

    `Patient` smallint(5) unsigned NOT NULL,

    `Doctor` smallint(5) unsigned NOT NULL,

    PRIMARY KEY (`AppointmentID`) ,

    UNIQUE INDEX `AppointmentID_UNIQUE` (`AppointmentID` ASC) ,

    CONSTRAINT `FK_Patient`

    FOREIGN KEY (`Patient` )

    REFERENCES `doctorsoffice`.`Patient` (`PatientID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE,

    CONSTRAINT `FK_Doctor`

    FOREIGN KEY (`Doctor` )

    REFERENCES `doctorsoffice`.`doctor` (`DoctorID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE)

    ENGINE = InnoDB;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`InsuranceCompany`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`InsuranceCompany` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`InsuranceCompany` (

    `InsuranceID` smallint(5) NOT NULL AUTO_INCREMENT ,

    `Name` VARCHAR(50) NULL ,

    `Phone` DOUBLE NULL ,

    PRIMARY KEY (`InsuranceID`) ,

    UNIQUE INDEX `InsuranceID_UNIQUE` (`InsuranceID` ASC) )

    ENGINE = InnoDB;

    -- -----------------------------------------------------

    -- Table `doctorsoffice`.`PatientInsurance`

    -- -----------------------------------------------------

    DROP TABLE IF EXISTS `doctorsoffice`.`PatientInsurance` ;

    CREATE TABLE IF NOT EXISTS `doctorsoffice`.`PatientInsurance` (

    `PolicyHolder` smallint(5) NOT NULL ,

    `InsuranceCompany` smallint(5) NOT NULL ,

    `CoPay` INT NOT NULL DEFAULT 5 ,

    `PolicyNumber` smallint(5) NOT NULL AUTO_INCREMENT ,

    PRIMARY KEY (`PolicyNumber`) ,

    UNIQUE INDEX `PolicyNumber_UNIQUE` (`PolicyNumber` ASC) ,

    CONSTRAINT `FK_PolicyHolder`

    FOREIGN KEY (`PolicyHolder` )

    REFERENCES `doctorsoffice`.`Patient` (`PatientID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE,

    CONSTRAINT `FK_InsuranceCompany`

    FOREIGN KEY (`InsuranceCompany` )

    REFERENCES `doctorsoffice`.`InsuranceCompany` (`InsuranceID` )

    ON DELETE CASCADE

    ON UPDATE CASCADE)

    ENGINE = InnoDB;

    USE `doctorsoffice` ;

    SET SQL_MODE=@OLD_SQL_MODE;

    SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;

    SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

    展开全文
  • SQL server 外键约束操作

    万次阅读 2019-03-25 14:49:21
    创建数据库时就是有主键的创建...第二步、弹出“外键关系”窗体,我们选择“添加”,然后点击“表和列规范”后面的小按钮。 第三步、弹出另外一个窗体让我们选择主键表和列,记住要选择相同的,选好之后点击确定...
  • SQLServer 2008添加外键约束

    千次阅读 2018-02-26 09:41:56
    在正望ERP管理系统中,给订单表身数据TF_POS添加外键约束的时候遇到如下错误: 无法创建关系“FK_TF_MM0_TF_POS”。 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_TF_MM0_TF_POS"冲突。该冲突发生于数据库&...
  • 请编写 SQL 语句,为课程表 courses 中的 teacher_id 添加外键约束,使之能与教师表 teachers 中的 id 相关联。 //官方答案 ALTER TABLE courses ADD CONSTRAINT FOREIGN KEY (teacher_id) REFERENCES teachers...
  • 在实际开发项目中,有的场景需要进行两个表的相关字段的外键关联,如在管理系统中,人员表和部门信息表,在生成一个人员信息时,人员的部门编码必须存在于部门表中,当该部门名称等信息发生变化时,人员表的部门信息也需要...
  • --主键约束 9 emp_name nvarchar(20) not null, 10 emp_sex nchar(1), 11 dept_id int constraint fk_dept_id_b foreign key references dept(dept_id) --外键约束 ) 注意点: 1. 创建表的命令后面是小括号(),而...
  • sql语句创建表的同时添加外键约束

    千次阅读 2020-11-22 21:13:00
    sql语句创建表的同时添加外键约束 建立一个商店的数据库store,记录顾客及其购物情况,由下面三个表组成: 商品(商品号,商品名,单价,商品类别,供应商); 顾客(顾客号,姓名,住址); 订单(顾客号,商品...
  • --sql语句创建表的同时添加外键约束

    千次阅读 2021-01-19 01:05:51
    --sql语句创建表的同时添加外键约束CREATE TABLE tb_UserAndRole --用户角色表(ID INT PRIMARY KEY IDENTITY(1,1),UserID INT NOT NULL,--用户IDRoleID INT NOT NULL,--角色IDforeign key(UserID) references tb_...
  • SQL外键约束

    千次阅读 2020-07-25 14:47:23
    SQL外键约束外键约束添加外键约束删除外键约束 外键约束 一个表中的 FOREIGN KEY(外键) 指向另一个表中的 PRIMARY KEY(主键) FOREIGN KEY 约束用于预防破坏表之间连接的动作 FOREIGN KEY 约束也能防止非法数据...
  • T-SQL外键约束

    2020-07-03 09:06:24
    如果在创建外键之前就已经在test02中有了不在test01的id1范围内的数据,则创建外键会失败 alter table test02 drop constraint fk_id11; insert into test02 values(1,1); alter table test02 add constraint fk_id...
  • 书号 char(20) primary key, --主键约束的写法 书名 char(20) , 出版社 char(25), 类别 char(25), 作者 char(25), 出版时间 datetime, 价格 int check (价格>0) --检查约束的写法 ) create table dz( ...
  • MySQL为表添加外键约束

    千次阅读 2021-01-18 22:13:53
    为表添加外键约束的语法Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);为表student添加外键约束执行成功后,使用DESC来查看学生表和班级表可以看出,grade表中...
  • SQL编程:外键约束

    2020-11-29 20:50:20
    外键约束 foreign key约束用于预防破坏表之间连接的行为,也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。【主要目的是确保表的数据的完整性,唯一性】 主表删除某条记录时,从表中与之对应...
  • SQL Server 2012 外键约束(定义外键、删除外键)

    万次阅读 多人点赞 2019-04-21 20:00:26
    文章目录准备知识定义外键使用SSMS工具定义外键使用SQL方式定义外键删除外键使用SSMS工具删除外键方式一:在对象资源管理器中删除主键方式二:在表设计器中删除主键使用SQL方式删除外键 准备知识     外键...
  • MySQL无法添加外键约束因此,我试图将外键约束...我得到的错误消息是:错误1215(HY000):无法添加外键约束这是我用来创建表的SQL,两个违规的表是Patient和Appointment.SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, U...
  • 添加外键约束

    2021-03-26 11:05:23
    1、如果表已经存在 alter table audit add constraint emp_no foreign key(emp_no) references employees_test(id) alter table audit :修改表audit...references employees_test(id):外键约束引用的是employees_te
  • (还未加外键约束) 1. mysql> show columns from message;//信息表 +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------...
  • mysql中添加外键约束

    2021-04-20 05:41:03
    mysql中添加外键约束经常用到,但是总是记不住。语法如下:ALTER TABLE JOB ADD CONSTRAINT fk_pronoFOREIGN KEY(PRONO)REFERENCES PROJECT(PRONO)ON DELETE CASCADEON UPDATE NO ACTION;我在mysql中添加了外键约束...
  • ——添加外键约束 语法: alter table 表1-表名 add constraint 外键名称(一般外键名称为”fK_”开头) foreign key (要设为外键的列名) references 表2-表名(与哪个表有关联) (表2中该列列名); alter table T_...
  • SQL 添加外键约束

    2010-03-30 10:27:18
    如果指定 NO ACTION,SQL Server 将产生一个错误并回滚父表中的行删除操作。 如果表中已存在 ON DELETE 的 INSTEAD OF 触发器,那么就不能定义 ON DELETE 的CASCADE 操作。 例如,在 Northwind 数据库中, ...
  • SQL Server查询外键约束与删除外键约束: 'WC_User'是表名 exec sp_helpconstraint 'WC_User' select name  from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id ...
  • SQL server添加外键约束 sql语句

    万次阅读 2014-11-02 19:43:08
    ---添加主键约束 alter table 表名 add constraint 约束名 primary key (主键) - --添加唯一约束 alter table 表名 add constraint 约束名 unique
  • 我试图在这里搜索答案,但我发现的一切已经说要么将数据库引擎设置为Innodb或确保我尝试用作外键的键是在自己的表中的主键。我做了这两件事,如果我没有错误。任何其他帮助,你们可以提供?Executing SQL script in ...
  • SQL Server 添加外键约束命令

    千次阅读 2017-11-25 16:05:47
    --Oythonhill 2017-11-25 整理 --查看数据表中所有列的约束 ...--添加主键约束  ALTER TABLE 表名  ADD CONSTRAINT 约束名 PRIMARY KEY (主键);   --添加唯一约束  ALTER TABLE 表名  ADD CONS

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,176
精华内容 22,470
关键字:

sql添加外键约束