如何在表中使用不同的行但使用相同的外键,使事件相同,但不再插入事件表?
Event_ID
在event
表和participant
表中是一致的,但我需要它对participant
表中的同一事件是相同的,而不是插入{同一事件的{1}}表
这是我的代码段:
event
答案 0 :(得分:1)
你的问题似乎含糊不清,但我会尝试在上下文中回答......
所以你有def preferredLocation: Option[String]
和- (void)readJsonData {
NSString *path = [[NSBundle mainBundle] pathForResource:@"data" ofType:@"json"];
NSURL *url = [NSURL fileURLWithPath:path];
NSData *data = [NSData dataWithContentsOfURL:url];
NSError *error;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData: data
options: NSJSONReadingAllowFragments
error: &error];
NSLog(@"Parsed json data- %@", dict);
}
,你想知道哪些参与者会参加某个活动。
因此,您可能希望为注册事件的每个参与者创建第3个表,并将其EVENTS
调用,将PARTICIPANTS
和ATTENDEES
插入event_id
表。
因此,如果您想知道哪些参与者参与某个活动,您只需在participant_id
表格中查找ATTENDEES
所有与会者的所有与会者。
答案 1 :(得分:0)
这似乎是一个非常好的问题。
以下是您正在做的事情:
event
表。eventID
表中选择event
并使用它将其他数据推送到
participant
表。这是您想要做的事情:
event
表。participant
表格中将数据推送到eventID
表格event
。eventID
的{{1}}和event
表中的participant
保持不变。以下是如何操作的:
event
表格中创建一个单独的字段以存储event
。或者,您可以将当前eventID
保留用于计数,或从其属性中删除eventID
,以便您可以控制它。此步骤的目的是能够手动管理您的AUTOINCREMENT
变量。eventID
声明[至少精神上] eventID
个数字。这样,您就知道events
代表什么eventID
,反之亦然。这些信息将来会派上用场。event
在参与者表格中创建[非AUTOINCREMENT
]字段。这将是您的事件表中的外键。eventID
语句中,使用您在步骤2中进行的eventID< - >事件匹配,将INSERT INTO event
手动推送到eventID
表格,并附上您提供的数据。再推。这可以确保dance_event和run_event各自具有唯一的event
值,而dance_event和run_event各自的行eventID
均为{。}}。eventID
语句处,重复上面的步骤4并根据您在步骤2中进行的eventID< - >事件匹配提交INSERT INTO participant
。这可确保您拥有相同的{{1}跨参与同一事件的参与者行。由于eventID
在两个表中是标准的,因此它可用于查询参与者所参加的事件以及参加特定事件的参与者。
<强> ---- ---- ORRRRRR 强>
你可以通过@TheSammie方式创建第三个缓冲区&#39;表格可帮助解决问题。
工作原理:
evendID
。eventID
和attendees
之后,执行INSERT INTO event
那就是它!比顶部的鲸脂短,仍然可以完成工作!
PS:在我过去遇到过这个问题的时候,我已经使用了@TheSammie的解决方案,它就像一个魅力!