내가 블로그에 매일 카운터를 제작하고있는 나는이 쿼리에 문제가있는 경우 :MYSQL 쿼리 도움말 : 갱신
IF EXISTS SELECT * FROM tableA WHERE blog_id=1
UPDATE FROM tableA SET c=c+'1' WHERE blog_id='1' AND c_date=NOW()
ELSE
INSERT INTO FROM tableA VALUES (blog_id,c,c_date) VALUES (1,1,now())
의 보여주는 다음과 같은 오류 :
1064 - 당신은이 SQL 구문의 오류.
근처 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 'IF가 TABLEA SELECT * FROM 존재를 WHERE blog_id = 1 UPDATE TABLEA FROM SET의 C = C +' '라인에서 1
My table entries should look like this :
id , blod_id , c , c_date
1 , 1001, 66 , 2011-11-11
2 , 1001, 160 , 2011-11-12
3 , 1002, 200 , 2011-11-12
4 , 1003, 33 , 2011-11-12
감사하지만 쿼리가 내 것과 동일한 오류를 표시합니다. : # 1064 - SQL 구문에 오류가 있습니다. 올바른 구문이 VALUES (1,1, now()) 근처에서 사용하도록 MySQL 서버 버전에 해당하는 매뉴얼을 확인하십시오. 중복 키 업데이트 'c' ='c' + 1,'c_date' = NOW()' 1 호선에서 – user82324
나는 오류를 수정했지만 새로운 문제가있다. 여러 레코드를 업데이트하는 대신 삽입하는 중 ... – user82324
테이블에 고유 한 인덱스가 있습니까? 'UNIQUE' 인덱스 또는 'PRIMARY KEY'일 수있는 행에 고유 필드가 있어야합니다. 고유 한 것과 중복 된 것을 삽입하고 삽입하면 업데이트됩니다. 그렇지 않으면 삽입됩니다. –