>  기사  >  데이터 베이스  >  열 개수가 행 1의 값 개수와 일치하지 않습니다. - MySQL 오류 해결 방법: 열 번호가 값과 일치하지 않습니다.

열 개수가 행 1의 값 개수와 일치하지 않습니다. - MySQL 오류 해결 방법: 열 번호가 값과 일치하지 않습니다.

PHPz
PHPz원래의
2023-10-05 11:40:542049검색

Column count doesn't match value count at row 1 - 如何解决MySQL报错:列数与值不匹配

MySQL 오류 해결 방법: 열 수가 값과 일치하지 않습니다. 특정 코드 예제가 필요합니다.

데이터 작업을 위해 MySQL 데이터베이스를 사용하는 과정에서 다음과 같은 오류 메시지가 나타날 수 있습니다. 개수가 행 1의 값 개수와 일치하지 않습니다." 즉, 열 개수가 값 개수와 일치하지 않습니다. 이 오류는 일반적으로 데이터를 삽입할 때 지정된 열 수가 삽입된 값의 수와 일치하지 않을 때 발생합니다. 이 문서에서는 특정 해결 방법을 설명하고 코드 예제를 제공합니다.

  1. 열 개수와 값 개수가 일치하는지 확인
    먼저 insert 문에 지정된 열 개수와 삽입된 값 개수가 일치하는지 확인해야 합니다. 예를 들어 insert문에 5개의 컬럼을 지정했다면, 삽입되는 값의 개수도 5개가 되어야 합니다. 일치하지 않으면 오류가 발생합니다.

다음은 예시입니다.

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2);

이 예시에서는 insert 문이 3개의 열(column1,column2,column3)을 지정하지만 2개의 값(value1, value2)만 삽입하므로 오류가 발생합니다. "열 개수가 행 1의 값 개수와 일치하지 않습니다."

이 문제를 해결하려면 insert 문에 지정된 열 수가 삽입된 값 수와 일치하는지 확인해야 합니다. 위의 예에서 insert 문을 다음과 같이 수정할 수 있습니다.

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);

이렇게 하면 오류가 해결됩니다.

  1. 여러 행의 데이터를 삽입하는 경우
    여러 행의 데이터를 삽입하려는 경우 각 행의 열 수와 값이 일정한지 확인해야 합니다. 예를 들어 insert문에 3개의 컬럼을 지정했다면, 각 행에 삽입되는 값의 개수도 3개가 되어야 합니다.

예는 다음과 같습니다.

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2), (value3, value4, value5);

이 예에서 insert 문은 3개의 열(column1, column2, column3)을 지정하지만 첫 번째 행은 2개의 값(value1, value2)을 삽입하고 두 번째 행은 3개의 열을 삽입합니다. 3개의 값(value3, value4, value5)이므로 "열 개수가 행 1의 값 개수와 일치하지 않습니다."라는 오류가 발생합니다.

이 문제를 해결하려면 각 행에 삽입된 값의 수가 지정된 열 수와 일치하는지 확인해야 합니다. 위의 예에서 insert 문을 다음과 같이 수정할 수 있습니다.

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3), (value4, value5, value6);

이렇게 하면 오류가 해결됩니다.

  1. 기본값 또는 NULL 사용
    삽입 문에 특정 열을 지정했지만 해당 값이 제공되지 않은 경우 기본값 또는 NULL을 사용하여 오류를 해결하는 것을 고려할 수 있습니다. 기본값이 있는 열의 경우 insert 문에서 값을 지정하지 않으면 NULL을 허용하는 열의 경우 기본값이 사용되며 insert 문에서 NULL을 명시적으로 지정할 수 있습니다.

다음은 예시입니다.

INSERT INTO table_name (column1, column2, column3) VALUES (value1, DEFAULT, value3);

이 예시에서는 insert 문에서 3개의 열(column1,column2,column3)을 지정하지만 두 번째 열은 특정 값을 제공하지 않고 DEFAULT 키워드를 사용하여 기본값을 사용합니다. . 이렇게 하면 오류를 피할 수 있습니다.

  1. INSERT INTO SELECT 문 사용
    다른 테이블에서 데이터를 선택하여 삽입하려는 경우 열 개수와 값 개수가 일치하지 않는 경우 INSERT INTO SELECT 문을 사용하는 것을 고려해 볼 수 있습니다.

예는 다음과 같습니다.

INSERT INTO table_name (column1, column2) SELECT column1, column2 FROM other_table;

이 예에서 삽입 문은 2개의 열(column1, column2)을 지정하지만 선택한 데이터는 other_table 테이블에서 가져오고 더 많은 열을 포함합니다. INSERT INTO SELECT 문을 사용하면 삽입에 필요한 열을 선택할 수 있어 열 개수와 값 개수가 일치하지 않는 문제를 피할 수 있습니다.

요약:
MySQL 오류 "열 개수가 행 1의 값 개수와 일치하지 않습니다"가 발생하는 경우 다음 방법을 통해 문제를 해결할 수 있습니다.

  • 열 개수와 값 개수를 확인하세요. ​​
  • 더 많은 행 데이터를 삽입해야 합니다. 각 행의 열 수와 값은 일관되어야 합니다.
  • 누락된 값을 채우려면 기본값 또는 NULL을 사용하세요. 삽입에 필요한 열을 선택하는 문입니다.
  • 위는 MySQL 오류 "열 개수가 행 1의 값 개수와 일치하지 않습니다."를 해결하기 위한 몇 가지 방법과 구체적인 코드 예제를 제공합니다. 도움이 되길 바랍니다!

위 내용은 열 개수가 행 1의 값 개수와 일치하지 않습니다. - MySQL 오류 해결 방법: 열 번호가 값과 일치하지 않습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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