나는 현재 내 PHP는 응용 프로그램에서 내 데이터베이스의 목록을 업데이트하려면이 쿼리를 사용 : 그것은 기본 키 자동 증가이기로INSERT IGNORE를 사용하지 않고 mysql에 행이 있는지 확인하는 방법은 무엇입니까?
$query = "INSERT INTO listings (title, description) VALUES ('$title','$description')";
이 명부 테이블은 'postid'열이 있습니다.
INSERT IGNORE를하고 postid를 확인하고 싶지 않습니다. 대신, 나는 테이블 구조를 동일하게 유지하고 $ title이 있는지 확인하고 싶으면 삽입하고 삽입하지 않으려합니다. 그렇다면
If ($title does not exist) {
$query = "INSERT INTO listings (title, description) VALUES ('$title','$description')";
}
, 내가 그걸 어떻게 작성합니다
/PHP는 것이다 mysql을 내가 어떻게 든 실행을 허용?
의견을 보내 주셔서 감사합니다.
INSERT INTO listings (title, description) VALUES ('$title','$description')
FROM dual WHERE not exists (SELECT title FROM listings WHERE title = '$title');
또는 다음과 같이 할 수 있습니다 :
"나는 싫어"--- 좋은 해결책을 원하지 않는 * 진짜 이유 *? – zerkms
왜 'INSERT IGNORE'를 사용하지 않으시겠습니까? –
글쎄, 문제는 목록을 제출하는 모든 사람들을 위해 테이블 구조를 유지해야한다는 것입니다. 그것이 어떻게 쓰여졌는지 잘 작동합니다. 내 스크립트를 위해서, 나는 백도어 RSS 피드를 데이터베이스에 넣으려고하고있어 PostId만으로는 충분하지 않을 것이다. 만약 내가 연속 3 rss 피드를 잡으면, 그것은 내 RSS를 동일한 RSS 항목으로 채우고 단순히 자동으로 postid를 증가시킬 것이다. 따라서 .. "뒷문"항목에 대해서는 제목의 키를 눌러야합니다. 또한 RSS 피드에서 찾을 수 있기 때문에 guid 필드를 만들려고했는데 postidid가 기본 키이므로 고유 한 필드로 사용할 수 없습니다. – Andi