MySQL 5.7 부터는 기본 키(PRIMARY KEY)의 Null 값 사용하면 오류 표시 > 기술자료

본문 바로가기
사이트 내 전체검색

기술자료

MySQL MySQL 5.7 부터는 기본 키(PRIMARY KEY)의 Null 값 사용하면 오류 표시


페이지 정보

댓글 0건 조회 326회 작성일 2018-12-11 14:36 ~ 2018-12-11 14:52

본문

MySQL 기본 키, 고유 키 (PRIMARY KEY, UNIQUE KEY)


기본 키와 고유 키는 유일해야 합니다. 
기본 키나 고유 키로 설정된 값은 고유해야 합니다.

기본 키는 primary key 로 값이 중복되면 안되고 NULL값을 허용하지 않습니다.
고유 키는 unique key 로 값이 중복되면 안되고 NULL값을 허용합니다.


MySQL 5.7 이상부터는 기본 키(PRIMARY KEY)의 Null 값을 지원하지 않습니다.
5.6 까지는 null 이어도 오류 없이 실행이 되었지만, 5.7 부터는 작동없이 에러를 표시합니다.

Columns in a PRIMARY KEY must be NOT NULL, but if declared explicitly as NULL produced no error. Now an error occurs. 
For example, a statement such as CREATE TABLE t (i INT NULL PRIMARY KEY) is rejected. 
The same occurs for similar ALTER TABLE statements. (Bug #13995622, Bug #66987, Bug #15967545, Bug #16545198)


MySQL 5.6 이하에서 사용하던 습관

CREATE TABLE IF NOT EXISTS `banner_side` (
     `bn_id` int(11) NULL AUTO_INCREMENT,
     `bn_sort` int(11) NOT NULL DEFAULT '0',
     `bn_subject` varchar(255) NOT NULL DEFAULT '',
     `bn_use` tinyint(4) NOT NULL DEFAULT '0',
     `bn_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY (`bn_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8


MySQL 5.7 이후 사용해야할 습관

CREATE TABLE IF NOT EXISTS `banner_side` (
     `bn_id` int(11) NOT NULL AUTO_INCREMENT,
     `bn_sort` int(11) NOT NULL DEFAULT '0',
     `bn_subject` varchar(255) NOT NULL DEFAULT '',
     `bn_use` tinyint(4) NOT NULL DEFAULT '0',
     `bn_datetime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY (`bn_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8



참고자료
http://kb.globalsoft.co.kr/web/web_view.php?notice_no=183
https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-3.html
  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

Total 2,315건 1 페이지

기술자료 목록
번호 제목
공지 일반   16795  2001-08-31 11:52 ~ 2017-12-05 16:33  
2314 etc보드   5  2019-01-22 23:32  
2313 MySQL   13  2019-01-22 00:43  
2312 Linux   15  2019-01-21 15:38  
2311 Linux   17  2019-01-21 07:18  
2310 그누보드   72  2019-01-16 18:41 ~ 2019-01-17 19:01  
2309 etc쇼핑몰   65  2019-01-15 04:30 ~ 2019-01-15 04:58  
2308 etc보드   64  2019-01-15 04:26 ~ 2019-01-15 05:04  
2307 HTML   84  2019-01-11 23:20 ~ 2019-01-11 23:24  
2306 그누보드   95  2019-01-11 01:42 ~ 2019-01-11 01:43  
2305 호스팅   137  2019-01-09 08:50  
2304 그누보드   252  2019-01-01 23:07  
2303 그누보드   322  2018-12-20 06:30 ~ 2018-12-20 06:41  
2302 WordPress   288  2018-12-19 19:56 ~ 2018-12-19 20:42  
2301 그누보드   355  2018-12-18 15:16  
2300 그누보드   288  2018-12-16 23:11 ~ 2018-12-20 06:57  
2299 PHP   368  2018-12-12 03:04 ~ 2019-01-12 17:58  
열람중 MySQL   327  2018-12-11 14:36 ~ 2018-12-11 14:52  
2297 그누보드   308  2018-12-09 12:19 ~ 2018-12-26 19:40  
2296 테크노트   310  2018-12-05 19:37 ~ 2018-12-06 15:43  

게시물 검색

회원로그인

계좌이체 or 신용카드 결제하기
해피정닷컴으로 대금결제를 할 수 있습니다

접속자집계

오늘
1,354
어제
2,641
최대
3,306
전체
4,553,039

회사명: 해피정닷컴   사업자번호: 119-05-36414   전화: 070-7600-3500   팩스: 02-865-3528   주소: 08394 서울시 구로구 디지털로 242 한화비즈메트로1차 1502호
대표: 정창용   개인정보보호책임자: 정창용   통신판매업신고번호: 2014-서울구로-0074 [사업자등록정보확인]   건강기능식품영업신고번호 제2018-0080452호
Copyright 2001~2019 해피정닷컴. All Rights Reserved.