IT story

MySQL 업데이트 쿼리에서 '필드 목록'오류의 알 수없는 열

hot-time 2020. 8. 3. 17:39
반응형

MySQL 업데이트 쿼리에서 '필드 목록'오류의 알 수없는 열


이 업데이트 쿼리를 수행하려고 할 때 MySQL 오류 # 1054가 계속 발생합니다.

UPDATE MASTER_USER_PROFILE, TRAN_USER_BRANCH
SET MASTER_USER_PROFILE.fellow=`y`
WHERE MASTER_USER_PROFILE.USER_ID = TRAN_USER_BRANCH.USER_ID
AND TRAN_USER_BRANCH.BRANCH_ID = 17

아마도 구문 오류 일 수 있지만 내부 조인과 다른 변경을 대신 시도했지만 동일한 메시지가 계속 나타납니다.

Unknown column 'y' in 'field list' 

식별자 인용 문자가 백틱 ( "`")이므로 "y"에 다른 인용 부호를 사용하십시오. 그렇지 않으면 MySQL은 "y"라는 열을 가리키는 "생각"합니다.

MySQL 5 문서 도 참조하십시오


작은 따옴표 안에 mysql 서버에 전달할 문자열을 묶습니다. 예 :

$name = "my name"
$query = " INSERT INTO mytable VALUES ( 1 , '$name') "

쿼리는 큰 따옴표로 둘러싸여 있지만, 당신은 유의 해야한다 따옴표로 문자열을 묶습니다.


따옴표 선택을 확인할 수 있습니다 (값, 문자열 등에 대해서는 큰 따옴표 나 작은 따옴표를 사용하고 열 이름에는 백틱을 사용하십시오).

테이블 만 업데이트하고 싶기 때문에 master_user_profile중첩 된 쿼리를 권장합니다.

UPDATE
   master_user_profile
SET
   master_user_profile.fellow = 'y'
WHERE
   master_user_profile.user_id IN (
      SELECT tran_user_branch.user_id
      FROM tran_user_branch WHERE tran_user_branch.branch_id = 17);

필자의 경우 열 이름 끝에 보이지 않는 후행 공백으로 인해 발생했습니다. 실제로 "y"또는 "y"를 사용하는지 확인하십시오.


먼저 EF 코드를 사용하여 .Net 앱 빌드를 작업하는 동안 Sql("UPDATE tableName SET columnName = value");명령문 이있는 위치에서 마이그레이션을 적용하려고 할 때이 오류 메시지가 표시됩니다 .

columnName의 철자가 잘못되었습니다.


나도 같은 오류가 발생했습니다. 제 경우에는 열 이름을 GROUP BY절에 포함 시켰기 때문에이 오류가 발생했습니다. 그래서 GROUP BY에서 열을 제거하고 작동했습니다!


최대 절전 모드 및 JPA 인 경우 참조 된 테이블 이름을 확인하고 열이 일치하지 않을 수 있습니다


MySQL 데이터베이스에서 LINQ를 통해 GroupBy를 사용할 때이 오류가 발생했습니다. 문제는 GroupBy에서 사용중인 익명 오브젝트 특성이 데이터베이스 열 이름과 일치하지 않는다는 것입니다. 열 이름과 일치하도록 익명 속성 이름의 이름을 바꾸어 수정했습니다.

.Select(f => new 
{
   ThisPropertyNameNeedsToMatchYourColumnName = f.SomeName
})
.GroupBy(t => t.ThisPropertyNameNeedsToMatchYourColumnName);

이와 같은 쿼리도 오류가 발생합니다.

SELECT table1.id FROM table2

테이블이 열 select에 지정되고 from 절에 포함되지 않은 경우.

참고 URL : https://stackoverflow.com/questions/1346209/unknown-column-in-field-list-error-on-mysql-update-query

반응형