mysql 데이터베이스에 중복 행이 삽입되는 것을 방지하려고합니다. 테이블 이름은 즐겨 찾기이고 내 테이블에는 company_id 및 user_id라는 두 개의 열이 있습니다. 사용자가 동일한 회사를 '즐겨 찾기'로 두 번 추가하려고하지 못하도록하고 싶습니다.mysql db에 중복 행 방지, IGNORE가 작동하지 않음
$query = "INSERT IGNORE INTO favorites (item_id, user_id) VALUES ($item_id, $user_id)";
mysql_query($query,$conn);
그러나 작동하지 않습니다
이것은 내가 뭘하려합니다.
기본 키를 추가하기 위해 '테이블 변경'을 시도했지만, 동일한 즐겨 찾기 항목이 둘 이상의 'user_id'와 동일한 'user_id'에 의해 즐겨 찾기 될 수 있으므로 user_id와 item_id가 모두 키가되어야합니다. '여러 개의 즐겨 찾기 항목을 삽입 할 수 있으므로 데이터가'중복 '될 수 있지만 동일한'user_id '및'item_id '가 두 번 삽입되는 것을 방지하려고합니다.
감사합니다.
두 개의 열의 복합 기본 키를 시도 했습니까? – Esailija
아니요, 제발 elaborte 또는 예를 보여 주실 수 있습니까?:) – AnchovyLegend
'ALTER TABLE 테이블에 'PRIMARY KEY'('item_id', 'user_id')를 추가했습니다. – Esailija