1

我有一个数据库,用户可以在其中输入任意数量的兴趣。当他们去更新它时,他们可以删除他们以前的兴趣之一。

这应该如何处理?更新是否应该从数据库中删除他们以前的所有兴趣,然后插入他们更新的兴趣?

4

2 回答 2

1

这就是我通常做的:删除所有现有记录并添加新记录。如果它是一个简单的交叉引用表,这是最简单的事情。如果有重要的 id 字段,您可能需要执行其他操作。

于 2012-06-05T20:29:04.887 回答
1

如果您的兴趣池未存储在单独的表中,则可以使用标志方法:

用户表(示例)

user_id int(8) AUTO_INCREMENT
user_name varchar(255)
user_email varchar(255)

用户兴趣表(示例)

interest_name varchar(255)
user_id int(8)
interest_status tinyint(1)

兴趣状态可以是 1(表示活跃兴趣)或 0(表示以前的兴趣)

另一方面,如果您也有兴趣池和二元关联表可供选择,则将其更改interest_nameinterst_id它所代表的。删除所有旧记录并使用问题标志重新插入它们。这通常是更容易做的事情,而且更不容易出错。

于 2012-06-05T20:33:52.240 回答