이 업데이트 쿼리를 수행하려고 할 때 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의 철자가 틀렸다는 것이 밝혀졌습니다.
답변
이것에 대한 내 경험을 공유합니다. 나는이 같은 문제를 겪고 있었다. 삽입 또는 업데이트 문이 올 바릅니다. 그리고 인코딩도 확인했습니다. 열이 존재합니다. 그때! 트리거의 열을 참조하고 있다는 것을 알았습니다. 또한 문제가있는 열을 참조하는 스크립트가 있는지 트리거를 확인해야합니다.
답변
이것에 대한 내 경험을 공유합니다. 나는이 같은 문제를 겪고 있었다. 내 쿼리는 다음과 같습니다.
select table1.column2 from table1
그러나 table1에는 column2 열이 없습니다.