gpt4 book ai didi

php - mysql中的更新表——删除旧的,插入新的,更新更新的

转载 作者:行者123 更新时间:2023-11-30 23:22:25 28 4
gpt4 key购买 nike

我有一个显示为 html 表的 mysql 表。用户能够更新、插入和删除行。单击保存按钮后,我想更新我的 mysql 表。

我目前的方法是在保存时删除所有行并插入所有新行。但是,当我的插入函数出错时,我遇到了问题,并且我已经删除了所有内容。

我觉得这种方法很草率,会导致不必要的删除。它可能会删除和插入 50 行只是为了更新一个单元格。

在 mysql 中更新表的正确方法是什么?

编辑:我目前的工作解决方案是这个

  • 在表中添加一个删除的列,默认值为0

  • 为行中的每个单元格(ID 除外)在表格上创建一个唯一索引

  • 保存表时,更新每一行,设置 deleted = 1

  • 对于表中的每一行,插入到 mysql 中,在重复集 deleted = 0

  • 只显示 deleted = 0 的行

你可以选择删除 deleted = 1 的行来清理它,但我喜欢保留它作为备份。

这个解决方案出现了两个问题:

  • 不允许出现两个相同的行。如果发现重复项,mysql 将只替换 deleted = 0

  • 如果更改一行中的单元格,将创建一个新行,而不会简单地更新旧行。这可以修复,但我几乎不介意能够“撤消”编辑。

最佳答案

这周我遇到了同样的问题。我的决定是将列表数据表保存在 session 变量中。稍后,将这个变量列表插入到mysql中。如果此插入脚本出现异常,我会回滚事务以撤消操作。但是,无一异常(exception),所有行都被删除, session 变量也被清除。我也需要改进这个过程!

关于php - mysql中的更新表——删除旧的,插入新的,更新更新的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14924961/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com