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

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

본문 바로가기

사이트 내 전체검색

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

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

페이지 정보


본문

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,641건 18 페이지
  • RSS
기술자료 목록
2301
Editor   8693  2018-12-16 23:11 ~ 2021-06-03 14:44  
2300
PHP   18538  2018-12-12 03:04 ~ 2020-08-06 11:38  
열람
MySQL   8959  2018-12-11 14:36 ~ 2018-12-11 14:52  
2298
그누보드   7634  2018-12-09 12:19 ~ 2020-04-02 02:00  
2297
테크노트   6449  2018-12-05 19:37 ~ 2018-12-06 15:43  
2296
킴스큐   5962  2018-12-04 13:47  
2295
PHP   8698  2018-12-03 17:34 ~ 2019-04-19 05:02  
2294
영카트   12217  2018-11-28 10:37 ~ 2022-04-21 02:58  
2293
그누보드   8446  2018-11-22 12:13  
2292
MySQL   27847  2018-11-22 05:24 ~ 2018-11-22 05:27  
2291
HTML   6471  2018-11-16 12:11 ~ 2018-11-16 12:17  
2290
Linux   7181  2018-11-13 00:15 ~ 2018-11-15 05:37  
2289
그누보드   12560  2018-11-09 06:32 ~ 2023-01-13 08:44  
2288
그누보드   7609  2018-11-01 18:50 ~ 2019-08-18 16:14  
2287
영카트   8385  2018-10-31 05:44 ~ 2018-10-31 05:47  
2286
그누보드   8581  2018-10-30 15:47  
2285
그누보드   7895  2018-10-22 09:58 ~ 2019-01-18 14:42  
2284
HTML   7141  2018-10-14 01:19 ~ 2018-10-14 02:09  
2283
킴스큐   7197  2018-10-04 23:04  
2282
MySQL   8743  2018-10-03 02:29  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.