안녕하세요, 저는 mySQL을 처음 사용했습니다. 따라서 언어에 대한 지식이 부족해서 필자가 원하는 결과를 찾지 못할 수도 있습니다.mySQL 데이터를 5 열로 제한 2 열 1 항목 당 2 항목
저는 CodeIgniter에서 Twitter API에 액세스하고 특정 수의 다양한 사용자에 대한 상태 업데이트 테이블을 반환하는 간단한 응용 프로그램을 작성합니다. 저는 이것을 사용자 당 5 개의 업데이트를 보여주는 것으로 제한하고 싶습니다.
본질적으로 실제 데이터베이스의 축소 버전 인 다음 데이터베이스가 있다고 가정 해보십시오.
person picture update
john pic 1 lorem ipsum
john pic 1 lorem ipsum
john pic 1 lorem ipsum
john pic 1 lorem ipsum
john pic 1 lorem ipsum
jim pic 2 lorem ipsum
jim pic 2 lorem ipsum
jim pic 2 lorem ipsum
jim pic 2 lorem ipsum
jim pic 2 lorem ipsum
joe pic 3 lorem ipsum
joe pic 3 lorem ipsum
joe pic 3 lorem ipsum
joe pic 3 lorem ipsum
joe pic 3 lorem ipsum
steve pic 4 lorem ipsum
steve pic 4 lorem ipsum
steve pic 4 lorem ipsum
steve pic 4 lorem ipsum
내가하고 싶은 것은 SQL 쿼리를 사용하여 데이터베이스로가는 도중에 한 사람당 업데이트 수를 제한하는 것입니다.
내 검색어에 INSERT IGNORE를 사용하고 있습니다. 페이지를 새로 고칠 때마다 중복 항목이 삽입되는 것을 원치 않지만 단순히 전체 사용자에 대해 LIMIT 5 한도를 추가하는 것이 좋습니다. 나는 사용자 당 5 명으로 제한하고 싶다.
이 작업을 수행하는 간단한 방법이 있습니까? 교체할까요? 최신 정보? 하위 쿼리?
도움을 주셔서 감사합니다.
감사합니다. 나는 실제로 당신의 코멘트 후에 트리거에 대해 배우러 갔고 편집하기 직전에 "AND id not IN"까지 모든 것을 생각해 내었습니다. 이 두 번째 부분이 필요합니까? 트리거가 없으면 트리거가 데이터베이스의 모든 항목을 삭제 한 다음 새 쿼리를 실행하겠습니까? –
@ Joshua : 실제로 "AND id NOT IN ..."을 제거하면 트리거가이 사람에 대해 _3 개의 myTweeterTable 행을 삭제합니다. 좋은 일이 아닙니다 ;-) – mjv
ID PK가 없으므로 INSERT IGNORE가 효과적이지 않습니다. INSERT IGNORE와 일치하는 특정 열에 집중할 수 있는지 잘 모르겠지만 ID와 다른 열 모두에서 PK를 시도하면 무시가 실패합니다. –