如何将多个表中的值插入到另一个表中?

问题描述:

我是新来的数据库。我总共有4个表格:当用户登录到Facebook时,会自动填充3个表格。我希望将这些表中主键的值填充到第4个表中。我如何做到这一点......我很快就需要帮助!如何将多个表中的值插入到另一个表中?

这表怎么看:

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

,第4台是这样的:

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

fb_uidpos_idcom_id是主键。

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

首先你使用什么类型的数据库?其次,这似乎是一个数据库设计问题。实际上,您应该在所有表格中使用一个唯一的主键,而不是使用不同的原色并将其映射。由于您使用Facebook,因此使用他们的Facebook ID作为所有表格的主键是有意义的,然后将其他ID作为唯一字段存储。这也可以让你轻松使用像连接这样有用的功能来一次从多个表中检索数据。如果这不切实际,例如,因为您为同一用户使用多个登录(Facebook Google等),那么您希望有一个像您所建议的查找表作为驾驶表,然后用它来帮助填充其他用户。理想情况下,您希望尽可能减少冗余数据,以减少数据不一致的风险。如果您对数据库不熟悉,则应该阅读数据库设计和数据库规范化。一个好的设计将有助于扩展性,并防止很多令人头疼和沮丧。

+0

我使用mysql数据库..我仍然是一个初学者..谢谢反正。但是有没有办法用这些表做,而不是在所有表中都有一个共同的字段? – 2011-12-20 06:22:25