>  기사  >  데이터 베이스  >  mysql에 외래 키를 추가하는 방법은 무엇입니까?

mysql에 외래 키를 추가하는 방법은 무엇입니까?

清浅
清浅원래의
2019-05-10 10:25:2428657검색

Mysql에서 외래 키를 추가하는 방법은 다음과 같습니다: 속성 값 바로 뒤에 추가, fk를 사용하여 테이블 생성 후 외래 키 추가

mysql에 외래 키를 추가하는 방법은 무엇입니까? #🎜🎜 #

관련 학습 권장 사항:

mysql 튜토리얼

mysql 4가지 방법으로 외래 키 추가# 🎜🎜 #

기본 테이블 만들기: class

CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT,
sname VARCHAR(15) NOT NULL)
INSERT INTO class VALUES(NULL,'六年级一班')
INSERT INTO class VALUES(NULL,'六年级二班')

첫 번째 방법: 바로 뒤에

#을 추가합니다. 속성 값 🎜🎜#

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT REFERENCES class(cid),
PRIMARY KEY(sid)
);
//테스트용 데이터 추가
INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)    //约束不生效,原因待查
INSERT INTO student VALUES(NULL,'卧槽',4)     //不敢相信,在测试一次

이렇게 하면 테스트가 실제로 추가된 이유를 알 수 없습니다. 바이두 온라인에는 결과가 없고 응답이 없습니다. 자습 모임 일단은 여기에 남겨주세요

초: 2. 추가

CREATE TABLE student(
sid INT AUTO_INCREMENT,
sname VARCHAR(10),
s_cid INT,
PRIMARY KEY(sid),
FOREIGN KEY (s_cid) REFERENCES class(cid)
);
//테스트할 데이터 삽입
INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)   //约束生效  插入失败
는 SQL 문 끝에

외래 키 제약 조건 적용

세 번째 유형: fk 사용

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid),
CONSTRAINT fk_student_class FOREIGN KEY(s_cid) REFERENCES class(cid)
);
INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效  插入失败
#🎜 🎜#네 번째 유형: 공사 중 테이블 뒤에 외래 키 추가

CREATE TABLE student(sid INT AUTO_INCREMENT,
sname VARCHAR(10) NOT NULL,
s_cid INT ,
PRIMARY KEY(sid)
);

//외래 키 제약 조건 추가:

ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);
//Test

INSERT INTO student VALUES(NULL,'王大锤',2)
INSERT INTO student VALUES(NULL,'胡汉三',3)  //约束生效   插入失败

위 내용은 mysql에 외래 키를 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.