UPDATE userpostratings SET rating = $rating WHERE postID = 8
postid = 8 인 userpostratings에 행이 없으면 대신 INSERT를 원합니다. 행이 없으면 업데이트 대신 삽입합니다.
메크
에게감사
을이가 SQL 함께 할 수 또는 내가 PHP에서 그것을해야UPDATE userpostratings SET rating = $rating WHERE postID = 8
postid = 8 인 userpostratings에 행이 없으면 대신 INSERT를 원합니다. 행이 없으면 업데이트 대신 삽입합니다.
메크
에게감사
을이가 SQL 함께 할 수 또는 내가 PHP에서 그것을해야는 다음과 같은 일을 할 수 있습니다 여기
INSERT INTO userpostratings (rating, postID) VALUES ($rating, 8)
ON DUPLICATE KEY UPDATE rating = $rating;
고유해야합니다. 인덱스는 mysql_affected_rows()가 아니다. – Grumpy
사실, 고유 인덱스가 필요합니다. 그것이 내가 "당신이 유일한 색인을 가지고 있다면 ..."이라고 쓴 이유입니다. 이것이 당신의 복수 downvote라고 생각할 수 있습니까? –
는 여기를 참조하십시오 당신이 postID에 UNIQUE 인덱스가있는 경우 How do I update if exists, insert if not (AKA "upsert" or "merge") in MySQL?
당신은 갈
http://nl2.php.net/manual/en/function.mysql-affected-rows.php
> mysql_query("UPDATE mytable SET used=1
> WHERE id < 10"); printf ("Updated
> records: %d\n",
> mysql_affected_rows());
이것은 OP가 묻는 것처럼 아무것도하지 않습니다. –
아 .. 뭐라 구요? mysql_affected_rows() == 0이면 – Grumpy
을 삽입하십시오. 설명하지 않았습니다. 또한,이 작업을 수행하려면 두 개의 명령문이 필요합니다. –
가능한 중복 : http://stackoverflow.com/questions/913841/mysql-conditional-insert의 –
가능 중복 된 [I가 존재하는 경우, 갱신하지 않을 경우 삽입 (일명 upsert 또는 병합) 어떻게에서 MySQL?] (http://stackoverflow.com/questions/1218905/how-do-i-update-if-exists-insert-if-not-aka-upsert-or-merge-in-mysql) –