반응형
그렇지 않으면 mysql에 INSERT 업데이트
이 코드를 테스트했습니다.
UPDATE books SET price='20000' WHERE user_id='2'
IF ROW_COUNT()=0
INSERT INTO store_books(name,user_id) VALUES ('test1','2')
다음 오류가 발생했습니다.
오류: SQL 구문에 오류가 있습니다. 줄 2의 'IF ROW_COUNT()=0 INSERT INSTARE_books(이름,user_id) VALUEs('test1','2') 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서에서 확인하십시오.
이 문제를 해결할 방법이 있습니까?
INSERT INTO를 사용하고 싶지 않습니다...중복 키 업데이트 시(메인 테이블에 여러 개의 키가 있기 때문).
위의 예는 새로운 방법을 찾기 위한 시도입니다.
내가 원하는 패턴:업데이트(존재하는 경우) ELSE 삽입.
두 가지:
INSERT ... ON DUPLICATE KEY UPDATE ...
당신이 하고 싶은 일을 하는 가장 좋은 방법입니다.이렇게 하지 않으면 데이터베이스 트랜잭션을 사용하여 원하는 작업의 무결성을 유지해야 합니다.- MySQL(예: MS SQL 서버와 달리)은 저장 프로시저를 제외하고는 조건부 쿼리 실행을 허용하지 않습니다.이걸 읽어보세요.SQL Script for Mysql에서 조건부인 경우
언급URL : https://stackoverflow.com/questions/52333997/update-else-insert-in-mysql
반응형
'programing' 카테고리의 다른 글
Angular2 *ngIf 템플릿에서 객체 배열 길이 확인 (0) | 2023.08.04 |
---|---|
Excel VBA에서 정수를 문자열로 변환하려면 어떻게 해야 합니까? (0) | 2023.07.30 |
OpenAL을 사용하여 iPhone에서 재생하기 위해 오디오를 CAF 형식으로 변환 (0) | 2023.07.30 |
ASP.NET MVC - 로그인 페이지에서 무단 오류를 표시하는 방법은 무엇입니까? (0) | 2023.07.30 |
PowerShell: 객체가 아닌 어레이로 결과를 가져오려면 어떻게 해야 합니까? (0) | 2023.07.30 |