【发布时间】:2011-06-16 14:16:55
【问题描述】:
我正在创建一个与我的活动数据库完全相同的更改日志数据库,只是它末尾有一个更改日期字段。
db 基本上是一个主键 id,以及大约 50 个其他各种数据类型的列。我在 php 中的脚本是它尝试插入新的 id,如果它收到重复主键的错误消息,那么它应该获取该行,将其插入到我的备份数据库中,并使用 curdate() 调用作为最终日期值,从我的第一个数据库中删除条目,然后插入新条目。
我已经完成了脚本的所有其他部分,除了我必须插入第一个表中的所有内容 + curdate() 的额外列的部分。或者,如果有一个更好的解决方案来解决我的问题,即当存在相当多的行时出现重复的主键时插入到备份数据库中,请分享。
【问题讨论】:
-
你能显示一些代码吗?如果您要覆盖数据库中现有的一组 Col,您需要使用 UPDATE,而不是 INSERT,否则它将失败。至于当前日期,您可以在 mysql 查询中使用“NOW()”
-
你的意思是删除和插入代码吗?它只是从 id=someid 的表中删除,然后插入表值(等)。更新的一个问题是,如果不明确说明所有列的名称,我无法弄清楚如何更新所有列。
-
我相信你可以有一个时间戳类型的字段,如果你将NULL传递给它,它会自动获取当前时间戳,我已经4年左右没有使用MySQL了,所以我不确定不再