타입과 NOT NULL·CHECK·DEFAULT를 사용해 잘못된 데이터를 입구에서 막습니다.
CREATE TABLE은 열 이름과 타입뿐 아니라 허용 규칙을 정의합니다. NOT NULL은 값 부재를 막고 CHECK는 업무 조건을 검증하며 DEFAULT는 열을 생략했을 때 값을 제공합니다.
제약조건 이름을 명시하면 운영 오류 메시지와 마이그레이션에서 어떤 규칙이 실패했는지 찾기 쉽습니다.
검증을 애플리케이션에만 두면 다른 배치나 관리 도구가 잘못된 데이터를 넣을 수 있으므로 DB 제약조건을 함께 둡니다.
자동 증가 기본키 문법이 SQLite는 AUTOINCREMENT, MariaDB는 AUTO_INCREMENT, PostgreSQL은 SERIAL·GENERATED ALWAYS AS IDENTITY로 셋 다 다릅니다.
DEFAULT는 명시적으로 넣은 NULL을 대체하지 않습니다. 열을 생략했을 때만 적용됩니다.
직접 바꿔보세요0원 상품을 허용할지 결정하고 CHECK 조건을 바꿔보세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.