의 행 집합에 대한 액세스를 제한 :-(그래서 같은 설계 간단한 테이블이있는 경우 :내가 꽤 데이터베이스 멍청한 놈 MySQL의
CREATE TABLE IF NOT EXISTS picture
(
ID INT NOT NULL AUTO_INCREMENT,
userID INT NOT NULL,
name VARCHAR(150),
PRIMARY KEY(ID),
FOREIGN KEY (userID) REFERENCES user(ID)
)ENGINE=InnoDB
및 기술, 예를 들어, 그래서 같은 :
+----+--------+------+
| ID | userID | name |
+----+--------+------+
| 1 | 1 | john |
| 2 | 1 | jack |
| 3 | 2 | amir |
| 4 | 2 | chan |
| 5 | 2 | jose |
| 6 | 3 | jane |
| 7 | 3 | buba |
+----+--------+------+
을 나는 다음과 같은 두 가지 제약 조건에 맞는 데이터베이스 설계 얼마나
:
- 사용자를
1
,2
d3
은pictures
테이블에 새 항목을 추가 할 수 있습니다. - 사용자
1
,2
및3
이 행만이을 수정할 수 있습니다userID
의 respecitvely1
,2
및3
, 나는이 아닌 사소한, 그래서 추가 질문을 자유롭게 할 수 알고
및 나는이 질문을 그에 맞게 편집 할 것이다.
첫 번째 항목에 대한
사용자 이름을 기반으로 행의 수정을 거부하는 테이블에 트리거를 추가 할 수 있습니까? –
나는 그것에 대해서도 생각했다. 그러나 넓은 업데이트 문장에 대해서는 잘 작동하지 않을지도 모른다고 깨달았다. OP는 현재 사용자/업데이트 매개 변수와 일치하는 행만 업데이트하고 다른 것은 무시하려고한다. – BluesRockAddict
감사합니다. 다른 사용자의 데이터 행을 삭제하는 것을 방지하는 방법이 궁금합니다.Corey가 위에서 언급 한 것처럼 ("트리거") 내가 이것을 시행 할 수있는 방법이 있습니까? – puk