"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;
그러면 열 값이 no
4433이고 해당 행이 Say
1로 설정된 모든 행이 업데이트됩니다.
나는 정수 열을 가정했습니다.
답변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