[SQL] MySQL의 오류 1241 : 피연산자 1 열을 포함해야합니다 (들)
SQLMySQL의 오류 1241 : 피연산자 1 열을 포함해야합니다 (들)
나는 표 2로 표에서 데이터를 삽입하는 것을 시도하고있다
insert into table2(Name,Subject,student_id,result)
select (Name,Subject,student_id,result)
from table1;
표 2에 대한 키 student_id된다.
어떤 중복이없는 것을 가정합니다.
(들) 피연산자 1 열을 포함해야한다 : 1241 MySQL의 오류 : 나는 오류
표 2에서 네 개의 열이 있습니다.
해결법
-
==============================
1.구문 오류는 () 선택에서 제거합니다.
구문 오류는 () 선택에서 제거합니다.
insert into table2 (name, subject, student_id, result) select name, subject, student_id, result from table1;
-
==============================
2.그냥 SELECT 문에 (그리고)을 제거 :
그냥 SELECT 문에 (그리고)을 제거 :
insert into table2 (Name, Subject, student_id, result) select Name, Subject, student_id, result from table1;
-
==============================
3.파서 인상 같은 예외를 만드는 또 다른 방법은 다음과 같은 잘못된 조항입니다.
파서 인상 같은 예외를 만드는 또 다른 방법은 다음과 같은 잘못된 조항입니다.
SELECT r.name FROM roles r WHERE id IN ( SELECT role_id , system_user_id FROM role_members m WHERE r.id = m.role_id AND m.system_user_id = intIdSystemUser )
ID 열에이 예상되는 중첩 된 SELECT 문에 의해 반환 된 결과에서 하나의 열 (ROLE_ID)의 값과 일치하지만 때문에, 기술적으로 정확 파서는 피연산자로 보는 IN 절 반환 두 개의 열에서 중첩 된 SELECT 문 목록을 반환합니다.
완벽을 위해, 올바른 구문은 다음이다.
SELECT r.name FROM roles r WHERE id IN ( SELECT role_id FROM role_members m WHERE r.id = m.role_id AND m.system_user_id = intIdSystemUser )
이 쿼리뿐만 아니라 구문 분석,하지만 예상 된 결과를 반환 한 부분 인의 저장 프로 시저.
from https://stackoverflow.com/questions/15820288/mysql-error-1241-operand-should-contain-1-columns by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] JDBC 결과는 테이블 별칭으로 열을 얻을 (0) | 2020.05.04 |
---|---|
[SQL] 날짜에 SQL 서버 변환 문자열 (0) | 2020.05.04 |
[SQL] 저장 프로 시저에서 MySQL의 동적 쿼리 (0) | 2020.05.04 |
[SQL] 어떻게 관계를 기반으로 한 레코드에 대해 여러 레코드를 얻으려면? (0) | 2020.05.04 |
[SQL] SQL에서 대문자로 분할 단어 (0) | 2020.05.04 |