SQL 구문 오류

SQL 구문 오류

"No"와 "Value"라는 2개의 열이 있는 sp_en이라는 테이블이 있습니다. "no": 4433이 있는 행의 "값"을 1로 변경하려면 다음 명령을 입력합니다.

INSERT INTO sp_en (Say) WHERE no='4433' values ("1");

반환된 오류는 다음과 같습니다.

오류 1064(42000): SQL 구문에 오류가 있습니다. 1행의 "where no="4433" (Say) value ("1")" 근처에서 사용하려면 MySQL 서버 버전 설명서를 확인하세요.

문제는 무엇입니까? 모든 답변에 크게 감사하겠습니다...

답변1

수정하려는 항목이 이미 테이블에 있으면 삽입하지 않으려고 합니다. 다음을 업데이트할 수 있습니다.

UPDATE TABLE sp_en SET Say = 1 WHERE no = 4433;

그러면 열 값이 no4433이고 해당 행이 Say1로 설정된 모든 행이 업데이트됩니다.

나는 정수 열을 가정했습니다.

답변2

INSERT이 구문은 데이터베이스에 새 데이터를 삽입하는 데에만 사용됩니다. 값 UPDATE구문을 업데이트하거나 변경하려면 다음을 사용하십시오.

UPDATE TABLE table_name
SET column_name = value
WHERE column_name = value;

위 구문에서 소문자 단어를 해당 값으로 바꿉니다. 또한, 여기에 사용된 column_name은 SET변경하려는 컬럼이고, 여기에 사용된 컬럼은 WHERE조건부 컬럼이다.

따라서 쿼리는 다음과 같습니다.

UPDATE TABLE so_en
SET my_column = 1
WHERE no = 4433;

그게 다야! ! !

PS 이 답변은 Google에서 쉽게 찾을 수 있습니다. 그러니 좀 더 연구해보시면 좋을 것 같습니다. 그리고 이 질문은dba stackexchange

관련 정보