我有一个网页,人们可以在其中创建管道订单。
订单存储在下表中:
- 订购运输/客户信息。
- 每个订单可以包含许多记录的 REQUESTED_PIECE。
- 每个订单也可以包含许多记录的分配。
- 每个 ASSIGNMENT 可以包含许多记录的 CUT
当您去编辑其中一个时,所有这些信息都会放在一个页面上进行编辑。
当用户单击完成时,在我看来,处理此问题的唯一方法是删除旧订单的所有记录并重新插入新内容。关于删除和重新插入的东西对我来说似乎是不好的做法,所以我想知道我是否遗漏了一些东西。
我有一个网页,人们可以在其中创建管道订单。
订单存储在下表中:
当您去编辑其中一个时,所有这些信息都会放在一个页面上进行编辑。
当用户单击完成时,在我看来,处理此问题的唯一方法是删除旧订单的所有记录并重新插入新内容。关于删除和重新插入的东西对我来说似乎是不好的做法,所以我想知道我是否遗漏了一些东西。
你应该使用UPDATE
:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
更新记录时要小心。如果我们省略了 WHERE 子句(或其中有错误),您可以更新表中的所有记录,而不是您想要更新的记录。
您可能想要删除和插入新记录的一个原因是为该记录提供一个新的主键(如果它是自动递增的)。您应该小心这样做,因为它会弄乱使用此主键的其他表中的任何外键
我在我的网站中遇到了同样的问题,我的解决方案是当我在隐藏输入或会话变量中填充字段时获取表的 ID,所以当发生变化时,我只通过提供存储的 ID 来更新我的数据库。希望能帮助到你。