개발자

mysql에서 자꾸 에러가 떠요

2023년 09월 16일조회 37

insert into 5_days(name, current_datetime) select '팀회의',convert_tz(now(), 'utc', 'Asia/Seoul')-- 현재 시간 및 날짜를 출력 union all select name, case when weekday(now()) between 0 and 4 then '월요일 부터 금요일까지'-- 월요일부터 금요일까지를 시스템 시간으로 변환합니다. else '주말' end, convert_tz(now(),'utc','Asia/Seoul') from 5_days; 모르겠어요

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2023년 09월 16일

당신이 제공하신 SQL 쿼리를 보면, `insert into` 구문 후에 `select` 구문이 오는데, 이 부분에서 문제가 발생한 것으로 보입니다. 아마도 select 구문에서 가져오는 열의 수와 '5_days' 테이블에 존재하는 열의 수가 일치하지 않아 에러가 발생하는 것으로 보입니다. 입력하려고 하는 테이블 '5_days'은 두 개의 컬럼인 'name'과 'current_datetime'을 가지고 있습니다. 하지만 select 구문은 세 개의 필드 (name, case statement 결과, convert_tz 결과)를 반환하고 있습니다. 그래서 다음과 같이 코드를 수정해볼 수 있습니다. ``` insert into 5_days(name, current_datetime) select '팀회의', convert_tz(now(), 'utc', 'Asia/Seoul') union all select name, case when weekday(now()) between 0 and 4 then convert_tz(now(),'utc','Asia/Seoul')-- 월요일부터 금요일까지 시스템 시간으로 변환 else null -- 혹은 기타 대체할 수 있는 값 end from 5_days; ```

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!