我有一个 MySql 数据库,其中包含有关应用程序用户的数据。此应用程序已经投入生产,但每天都在添加改进。我所做的最后一项改进改变了数据收集和插入数据库的方式。
为了更清楚,我的数据库由 5 个包含用户数据的表和 1 个通过外键关联所有表的表组成。这 5 个外键一起构成了我拥有的这个“主表”的唯一索引。
问题是这些包含用户数据的表之一改变了它的格式,我想删除所有比我对我的应用程序所做的修改更旧的数据(只是从这个表中,其他的我需要保持不变)。然而,这个数据集在主表中有外键,我不能把这些行放在主表上,因为我拥有的其他信息很重要。我试图具体更改该表的外键值,但显然,我遇到了与重复索引相关的问题。
在互联网上阅读,我找到了使用“插入......重复密钥更新......”的解决方案,但我没有插入数据,只是更新它。我有一个关于如何在 PHP 上编写程序来更新我的数据库的想法,但是还有其他更简单的解决方案吗?是否可以仅使用 MySql 语法来避免这些问题?