2011-05-18 121 views
1

我在动作中创建了一个游戏,需要使用外部数据库来存储用户详细信息和分数。在sql数据库的多个表中插入一个条目

这个数据库将包含多个表,目前有两个表。

我的第一张表包含标题 - ID,电子邮件,用户名,密码。

我的第二张表包含标题 - ID,lvl1Score,lvl2Score,lvl3Score。

在我的游戏中,当创建一个新用户时,它会在ID自动递增的第一个表中创建一个条目。

我的问题是 - 有没有办法在第二张表中自动创建一个条目,其默认值和相同的ID添加到我的第一张表时? 我已阅读关于连接,但我读过的一切只是谈论在多个表中查找数据。

另外,我的表结构是否正确,可以使用JOIN键从两个表中查找条目来使用ID值。

+0

您可以创建一个将记录有相同ID你的第二个表上的第一个表(插入后)的触发器。 – wimvds 2011-05-18 14:00:58

回答

1

我建议你去触发器。

创建或之后
插入对表1的
为每一行替换触发TRIGGER_NAME
开始
插入到表2的值(new.id “为lvl2score值”, “为lvl3score值”);
end

就像这样。

+0

感谢您的回答,这正是我需要的。 – 2011-05-18 15:38:11

1

如果表格确实具有一对一的关系,我建议您只需制作一个包含所有字段的表格。

或者你是否认为这应该为每个用户存储多个分数?在这种情况下,您不应该为用户插入默认记录。相反,score.ID字段应改为引用user.ID并允许重复。

0

我建议你使用触发器和更多的灵活性,创造“用户”和“水平”之间的多对多的关系,所以你最终会用3个表:

  • 用户
  • 水平
  • user_level(这将包含外键:USER_ID,level_id)