如何通过计算SQL中不同表中的另外两列来确定是否允许插入到表中?
例如,像这样:
IF (
(SELECT members_schoolid FROM members WHERE members_id=1) =
(SELECT events_schoolid FROM events WHERE events_eventid=10)
)
THEN
INSERT INTO schedules (schedules_userid, schedules_eventid) VALUES (1, 10)
只有当学生属于创建该事件的学校时,才允许他/她将该事件插入到他/她的日程安排中,例如,如果members_schoolid = events_schoolid
谢谢!
发布于 2014-04-09 08:01:11
这样如何:
INSERT INTO schedules (schedules_userid, schedules_eventid)
SELECT 1, 10
WHERE EXISTS (
SELECT *
FROM members, events
WHERE members.members_schoolid=events.events_schoolid
AND events.events_eventid=10
AND members.members_id=1
)
当您运行此查询时,内部部分将作为其自身的查询运行。如果它返回任何行(exists
),那么将运行插入。
https://stackoverflow.com/questions/22950421
复制相似问题