[Error/SQL] Incorrect date value: '2024-11-22 00:53:14' for column 'enrollment_date' at row 1

mj·2024년 11월 21일
0

Error

목록 보기
2/2

에러 메세지

Incorrect date value: '2024-11-22 00:53:14' for column 'enrollment_date' at row 1

에러 발생 상황

CREATE TABLE ENROLLMENTS (
	enrollment_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
	student_id INT NOT NULL,
	course_id INT NOT NULL,
	enrollment_date DATE NOT NULL,
	FOREIGN KEY (student_id) REFERENCES STUDENTS(student_id),
	FOREIGN KEY (course_id) REFERENCES COURSES(course_id)
);
INSERT INTO enrollments (student_id, course_id, enrollment_date)
VALUES (1, 1, NOW());

에러 원인

컬럼의 날짜 형식과 INSERT하려는 날짜형식이 맞지 않아 발생하는 문제이다.

  • DATE: 'YYYY-MM-DD'
  • DATETIME: 'YYYY-MM-DD HH:MM:SS'
  • TIMESTAMP: 'YYYY-MM-DD HH:MM:SS'

enrollment_date의 형식은 DATE이므로 'YYYY-MM-DD'형식으로 INSERT해주어야 한다.

  • CURDATE(): 현재 날짜를 YYYY-MM-DD 형식으로 반환
  • NOW(): 현재 날짜와 시간을 YYYY-MM-DD HH:MM:SS 형식으로 반환

따라서, DATE 타입의 컬럼에는 NOW()가 아닌 CURDATE()
를 사용해야 합니다.

에러 해결

INSERT INTO enrollments (student_id, course_id, enrollment_date)
VALUES (1, 1, CURDATE());
profile
일단 할 수 있는걸 하자.

0개의 댓글