【问题标题】:How to insert values from multiple tables into another table?如何将多个表中的值插入另一个表?
【发布时间】:2011-12-19 08:02:09
【问题描述】:

我是数据库新手。我总共有 4 个表:用户登录 Facebook 时会自动填充 3 个表。我希望将这些表的主键值填充到第四个表中。我该怎么做...我很快需要帮助!

这就是表格的外观:

table:attributes
fb_user : fb_uid, birhtday, gender, email.
company_master : com_id, com_name.
position_master : pos_id, pos_name.

第四张桌子是这样的:

[table]:[attributes]
work_history : work_id, fb_uid, com_id, pos_id.

fb_uidpos_idcom_id 是主键。

如何使用较少的数据库操作来执行此操作?有没有办法使用触发器来优化?

【问题讨论】:

    标签: database triggers insert multiple-tables


    【解决方案1】:

    首先,您使用的是什么类型的数据库?其次,这似乎是一个数据库设计问题。您确实应该在所有表中使用一个唯一的主键,而不是使用不同的主键并映射它们。由于您使用 Facebook,因此使用他们的 Facebook id 作为所有表的主要 ID,然后将其他 id 存储为唯一字段是有意义的。这也将允许您轻松使用连接等有用的功能来一次从多个表中检索数据。如果这不切实际,例如,您对同一用户使用多个登录名(Facebook Google 等),那么您可能希望有一个您建议的查找表作为驱动表,然后使用它来帮助填充其他用户.理想情况下,您希望尽可能减少冗余数据,以降低数据不一致的风险。如果您是数据库新手,您应该阅读一些有关数据库设计和数据库规范化的内容。一个好的设计将有助于实现可扩展性并避免很多麻烦和挫折。

    【讨论】:

    • 我正在使用 mysql DB.. 我还是个初学者.. 无论如何谢谢。但是有没有办法用这些表来做,而不在所有表中创建一个共同的字段??
    猜你喜欢
    • 2019-09-29
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    相关资源
    最近更新 更多