반응형
create table MYTABLE
{
MY_DATE int NOT NULL AUTO_INCREMENT,
NAME varchar(255) NOT NULL UNIQUE
};
INSERT INTO MYTABLE(NAME)values(jessica);
이 오류가 발생하는 이유는 무엇입니까?
오류 1364 (HY000) : 'MY_DATE'필드에 기본값이 없습니다.
해결 방법
테이블 당 AUTO_INCREMENT 열은 하나만있을 수 있으며 인덱싱되어야하며 DEFAULT 값을 가질 수 없습니다.
MY_DATE
를 인덱싱하지 않기 때문에 AUTO_INCREMENT
옵션을 자동으로 무시하고있을 수 있습니다 (확장 할 수는 없습니다. 그러나 문서의 참고는 여전히 관련이 있습니다).
AUTO_INCREMENT
항목에서 볼 수있는 모든 샘플은 다음과 같습니다.
PRIMARY KEY (MY_DATE)
또는 엄격한 SQL 모드에서 실행 할 수 있습니다 . 내가 본 모든 문서는 특정 기본값이없는 경우 삽입의 나열되지 않은 열이 nullable이면 NULL을, nullable이 아닌 경우 유형 기본값이 있음을 나타내는 것 같습니다.
엄격한 SQL 모드에서 실행하지 않는 경우 명시 적으로 값이 제공되지 않은 열은 기본값 (명시 적 또는 암시 적) 값으로 설정됩니다. 예를 들어, 테이블의 모든 열에 이름을 지정하지 않는 열 목록을 지정하면 이름이 지정되지 않은 열이 기본값으로 설정됩니다. 기본값 할당은 섹션 10.1.4,“데이터 유형 기본값”에 설명되어 있습니다.
정수 유형의 경우 기본값은 0입니다 (어쨌든 자동 증분에서 시작되어야 함).
트랜잭션 테이블에 오류가 발생하고 명령문이 롤백됩니다.
참조 페이지 https://stackoverflow.com/questions/5000547
반응형
'MySql' 카테고리의 다른 글
MySQL 오류 : 테이블 스페이스 덤프를 시도 할 때 정의 자로 지정된 사용자 ( 'mysql.infoschema'@'localhost')가 존재하지 않습니다. ' (0) | 2020.10.19 |
---|---|
MySQL 정렬하여 수리 하시겠습니까? (0) | 2020.10.19 |
MySQL PHP foreach를 사용하여 mysql 테이블 데이터 가져 오기 (0) | 2020.10.19 |
MySQL PHP 7.2.4에서 MySQL 8.0에 연결할 수 없습니다. (0) | 2020.10.19 |
MySQL 8.0.11이 설치된 Laravel 5.5 : 'sql_mode'를 'NO_AUTO_CREATE_USER'값으로 설정할 수 없습니다. (0) | 2020.10.19 |
댓글