0

这是我的问题:

    USER TABLE

id  uploader_name   email
1   abhijit         xxx@email.com
2   rahul           abc@email.com


    UPLOAD TABLE

ID  USER_ID     IMAGE_URL
1   1           UPLOAD/XXX.JPG
2   1           UPLOAD/ABC.JPG
3   2           UPLOAD/CD.JPG

如何USER_ID在表中UPLOAD TABLEid表中连接USERS TABLE?因此,该USER_ID字段会自动更新。
现在我的问题是如何USER_ID在表中添加数据UPLOAD TABLE。我可以在每个字段中添加数据,除了USER_ID.

4

2 回答 2

1

在这种情况下,您可以添加一个触发器来更新上传表的 user_id 字段。请参考此链接,这将帮助您了解触发器以及如何自动更新字段。

于 2012-12-20T07:05:38.370 回答
0

如果您的问题是这样的:您首先将内容添加到 UPLOAD 表,而不知道 USER_ID。然后,一旦知道了 USER_ID,您就会尝试修补它。但是到那时,数据已经插入到数据库中。

可能的答案:每次插入后,您可以调用LAST_INSERT_ID()来获取最新插入表的 auto_increment 值。使用此 ID 稍后使用此 user_id 修补(更新)UPLOAD 表。 http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id

否则,如果场景是:如果修改了 USER 表,您想要更新 user_id 的 ID。在这种情况下,请使用带有外键约束的 innodb 表,以确保保持正确的关系。此外,使用ON UPDATE CASCADE将您对 ID 的更改带到另一个表。

无论如何,请进一步解释问题。

于 2014-06-15T09:58:04.140 回答