[SQLite 03강] SQLite3 테이블 생성(CREATE)
2강과 이어 집니다~
2강 실습 후 3강 학습해주세요^^
SQL 응용프로그램을 실행한 후 아래와 같이 실습해주세요
위 그림에 오류 있습니다!!!( number age (x) --> number int (o) )
Parse error: table 테이블명 already exists
오류 발생!
해결 방법은? if not exists
위 그림에 오류 있습니다!!!( number age (x) --> number int (o) )
tData 테이블 생성
id | name | age |
1 | aaa | 17 |
2 | bbb | - |
3 | ccc | - |
위 테이블 생성 조건으로는
id는 숫자, name은 문자, age는 숫자
단, id와 name은 필수 입력 사항이다. age는 선택사항
이 경우 not null 을 사용한다.
위 쿼리문으로 생성할 경우
레코드 삽입 시 id, name을 생략할 수 없다.
Runtime error: NOT NULL constraint failed:
name 생략 불가능!!
그런데.... 여기서 문제점이 하나 생긴다.
동일한 id 삽입이 가능합니다.
id | name | age |
1 | aaa | 17 |
2 | bbb | - |
3 | ccc | - |
1 | aaa | 17 |
1 | aaa | 17 |
동일한 id 삽입을 거부하기 위해서,
primary key(기본 키, 고유한 값 찾기) 를 id 로 설정합니다.
기본키란? 고유한 값 (즉, 사람의 primary key는 "주민번호"입니다.)
id 는 숫자형이므로, autoincrement 를 사용하여, 자동 증가 하도록 설정해둡니다.
레코드 삽입 시 id를 제외하더라도,
id가 중복 없이 하나씩 증가하여 값을 저장합니다.
autoincrement
Runtime error: UNIQUE constraint failed:
3번을 인해 에러 발생!