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

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

기술자료

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


페이지 정보

댓글 0건 조회 492회 작성일 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,324건 1 페이지

기술자료 목록
번호 제목
공지 일반   17033  2001-08-31 11:52 ~ 2017-12-05 16:33  
2323 전자결제   442  2019-02-18 11:47  
2322 그누보드   446  2019-02-16 01:51 ~ 2019-02-17 14:00  
2321 PHP   461  2019-02-13 21:01  
2320 JavaScript   546  2019-02-08 18:37 ~ 2019-02-08 19:32  
2319 그누보드   570  2019-02-08 16:47 ~ 2019-02-08 16:54  
2318 그누보드   586  2019-01-31 18:45 ~ 2019-01-31 18:52  
2317 PHP   603  2019-01-31 18:26 ~ 2019-01-31 18:38  
2316 PHP   700  2019-01-23 17:50  
2315 PHP   664  2019-01-23 15:38  
2314 etc보드   641  2019-01-22 23:32  
2313 MySQL   317  2019-01-22 00:43  
2312 Linux   280  2019-01-21 15:38  
2311 Linux   321  2019-01-21 07:18 ~ 2019-03-13 00:02  
2310 그누보드   241  2019-01-16 18:41 ~ 2019-01-17 19:01  
2309 etc쇼핑몰   233  2019-01-15 04:30 ~ 2019-01-28 00:30  
2308 etc보드   215  2019-01-15 04:26 ~ 2019-01-15 05:04  
2307 HTML   350  2019-01-11 23:20 ~ 2019-01-11 23:24  
2306 그누보드   247  2019-01-11 01:42 ~ 2019-01-11 01:43  
2305 호스팅   414  2019-01-09 08:50  

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

접속자집계

오늘
377
어제
2,848
최대
3,306
전체
4,675,212

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