更新MySql中的现有行并处理重复密钥
我有一个MySql数据库,其中包含有关应用程序用户的数据。 该应用程序已投入使用,但每天都会增加改进功能。 我所做的最后一项改进改变了数据收集和插入数据库的方式。
为了更清楚一点,我的数据库由5个包含用户数据的表格和1个通过外键与所有表格相关的表格组成。 这5个外键合在一起形成了我拥有的这个“主表”的唯一索引。
问题是,包含用户数据的这些表格之一改变了它的格式,我想删除比我在应用程序上做出的修改更早的数据(仅仅从这张表格中,我需要保持原样)。 但是,这个数据集在主表中有外键,我不能只将这些行放在主表上,因为我拥有的其他信息很重要。 我试图改变这个表的外键的值,具体来说,但是很明显,我有一个与重复索引有关的问题。
在互联网上阅读,我发现我的问题的解决方案,使用“插入...重复键更新...”,但我不插入数据,只是更新它。 我有一个关于如何在PHP上创建程序来更新数据库的想法,但是有没有更简单的解决方案? 使用MySql语法可以避免这些问题吗?
可能值得看看下面的链接
http://www.kavoir.com/2009/05/mysql-insert-if-doesnt-exist-otherwise-update-the-existing-row.html
链接地址: http://www.djcxy.com/p/66755.html上一篇: Updating existing lines in MySql and treating Duplicated Keys
下一篇: Duplicate entry on UPDATE, when there's no real duplicate