如何自动更新mysql表?

时间:2012-12-20 06:54:51

标签: mysql

这是我的问题:

    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 TABLE与表格id中的USERS TABLE联系起来?因此,USER_ID字段会自动更新 现在我的问题是如何在表USER_ID的{​​{1}}中添加数据。我可以在除UPLOAD TABLE之外的每个字段中添加数据。

2 个答案:

答案 0 :(得分:1)

在这种情况下,您可以添加触发器来更新上载表的user_id字段。请参阅此link,它将帮助您了解触发器以及如何自动更新字段。

答案 1 :(得分:0)

如果您的问题如下: 首先在不知道USER_ID的情况下将内容添加到UPLOAD表中。 然后,一旦你知道它就试图修补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的更改带到另一个表中。

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