Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 딥러닝
- Tistory
- 서평
- Linux
- SQL
- Ga
- 파이썬
- 파이썬 시각화
- Google Analytics
- 텐서플로
- 시각화
- 티스토리
- matplotlib
- 한빛미디어
- 서평단
- 매틀랩
- Blog
- 한빛미디어서평단
- Pandas
- MATLAB
- Python
- 리눅스
- 독후감
- MySQL
- tensorflow
- 블로그
- 월간결산
- python visualization
- 통계학
- Visualization
Archives
- Today
- Total
pbj0812의 코딩 일기
[SQL] MySQL 외래키 지정하기 본문
0. 목표
- MySQL 내에서의 외래키 지정 및 테스트
1. 실습
1) user 테이블 생성
- ID를 pk로 지정
CREATE TABLE pbj_db.user
(
ID INT PRIMARY KEY,
Name VARCHAR(30)
);
2) 데이터 삽입
INSERT INTO pbj_db.user(ID, Name) VALUES(1, 'a');
INSERT INTO pbj_db.user(ID, Name) VALUES(2, 'b');
INSERT INTO pbj_db.user(ID, Name) VALUES(3, 'c');
3) 데이터 확인
SELECT * FROM pbj_db.user;
- 결과
4) order 테이블 생성
- order_id 를 pk로 지정
- ID를 외래키로 지정(user테이블의 ID와 연결)
CREATE TABLE pbj_db.order
(
order_id INT PRIMARY KEY,
amount DOUBLE,
ID INT,
FOREIGN KEY (ID) REFERENCES user (ID)
);
5) 테스트
(1) ID가 user 테이블에 있는 경우
- 성공
INSERT INTO pbj_db.order(order_id, amount, ID) VALUES(1, 1500, 1);
(2) ID가 user 테이블에 없는 경우
- 에러 발생
INSERT INTO pbj_db.order(order_id, amount, ID) VALUES(2, 1500, 10);
- 에러 메세지
Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`pbj_db`.`order`, CONSTRAINT `order_ibfk_1` FOREIGN KEY (`ID`) REFERENCES `user` (`ID`))
2. 참고
- 외래키 예제
- 외래키 이해하기
'ComputerLanguage_Program > SQL' 카테고리의 다른 글
[SQL] MySQL lock 실습 (0) | 2020.09.16 |
---|---|
[SQL] MySQL ROLLBACK 실습하기 (0) | 2020.09.15 |
[SQL] MySQL 예외처리(exception) (0) | 2020.08.25 |
[SQL] MySQL UPSERT 실습 (0) | 2020.08.10 |
[SQL] MySQL 워크벤치로 csv 파일 import 하기 (0) | 2020.08.08 |
Comments