나는 사용자 (발신자)가 수신자 수 (= 수신자 수)에 메모를 쓸 수있는 시스템을 가지고있다. 메시지의 텍스트는 DB에 저장되고 발신자와 모든 수신자에게 표시되며 시스템에 로그인됩니다. 발신자는 언제든지 수신자를 더 추가 할 수 있습니다. 리시버 중 어떤 것보다 메시지를 편집 할 수 있으며 심지어 DB에서 제거 할 수 있습니다.메일 링 시스템 DB 구조, 도움이 필요함
사용자 (아이디, 사용자 이름, 암호)
메시지 (messageID 설명, 텍스트)
목록 (ID, 센더, receiverID, messageID 설명)
:이 시스템에 대해 내가 곧 3 개 테이블을 생성 receiver_1_ID - - message_1_ID
sender_x_ID - 테이블 "리스트"의 각 행
sender_x_ID 같이, 송신기 - 수신기 쌍에 대응하는 재 ceiver_2_ID는 - receiver_3_ID - -
sender_x_ID message_1_ID message_1_ID
지금 문제가 :
사용자가 "메시지"테이블에서 메시지를 삭제하면 1. 어떻게 자동으로 테이블 "목록"에서 모든 행을 삭제를하는 삭제 된 메시지에 해당합니다. 외래 키가 필요합니까?
더 중요한 :
2. 보낸 사람이 할 수있는 경우는 자신의 message1 (사용자 이름 1, 사용자 이름 2와 USERNAME3) 및 특정 순간에 3 개 수신기 username4 및 username5을 추가하기로 결정 말을 동시에 수신기의 목록에서 사용자 이름 1을 제외 . receiver_4_ID - - message_1_ID
sender_x_ID - receiver_5_ID - message_1_ID
sender_x_ID를 삽입 의미의 새 목록을 얻을 것이다 receiver_1_ID - - message_1_ID또한 테이블에서 "리스트"(더 목록 또는 수신기가 아닌) 사용자 1에 대응하는 행
sender_x_ID 삭제
SQL 쿼리를 PHP에서 보내어 쉽고 지능적으로 만들 수 있습니까? 도와주세요! SQL 쿼리의 예는 완벽 할 것입니다!
이유는 메시지 테이블의 컬럼으로 센더를 가지고 있지? –
thx Moron, 좋은 지적이야 :) – Anna