>  기사  >  데이터 베이스  >  MySQL에 데이터를 삽입할 때 \"열 개수가 값 개수와 일치하지 않습니다\" 오류를 해결하는 방법은 무엇입니까?

MySQL에 데이터를 삽입할 때 \"열 개수가 값 개수와 일치하지 않습니다\" 오류를 해결하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-26 18:24:29390검색

How to Resolve

MySQL에서 한 테이블의 데이터를 다른 테이블에 삽입

다음과 같은 쿼리를 사용하여 한 테이블의 데이터를 다른 테이블에 삽입하려고 할 때:

INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
  VALUES ( 
      (SELECT magazine_subscription_id, 
              subscription_name, 
              magazine_id 
       FROM tbl_magazine_subscription 
       ORDER BY magazine_subscription_id ASC), '1')

다음 오류 메시지가 나타날 수 있습니다.

#1136 - Column count doesn't match value count at row 1

INSERT 문에 지정된 열 수가 하위 쿼리에 제공된 값 수와 일치하지 않기 때문입니다.

해결책

이 문제를 해결하려면 다음과 같이 INSERT...SELECT 구문을 사용하십시오.

INSERT INTO mt_magazine_subscription ( 
      magazine_subscription_id, 
      subscription_name, 
      magazine_id, 
      status ) 
SELECT magazine_subscription_id, 
       subscription_name, 
       magazine_id, 
       '1'
FROM tbl_magazine_subscription
ORDER BY magazine_subscription_id ASC 

이 수정된 쿼리에서 '1 ' 상태 열의 값은 SELECT 부분에서 직접 인용됩니다. INSERT...SELECT 구문을 사용하면 삽입할 열을 지정하고 다른 테이블이나 하위 쿼리에서 삽입할 값을 선택하여 열 수와 값이 일치하는지 확인할 수 있습니다.

위 내용은 MySQL에 데이터를 삽입할 때 \"열 개수가 값 개수와 일치하지 않습니다\" 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.