【发布时间】:2011-11-10 21:32:12
【问题描述】:
我会尽量让这个问题尽可能简短。我想知道是否有办法通过 PHP 和 MySQL 编码执行以下操作:
删除一个自动递增的 id 条目(例如条目 12 of 20),同时将其余条目降低 1。(例如:删除条目 12 == 条目 13 变为 12,14 变为13等)
手动(即通过表单)插入一个带有 ID 的条目,以便在用户指定时将其余条目向上推(如果未指定,则默认为正常行为。(例如:用户指定他想要他的条目是 ID 14,但数据库中已经有一个 ID 14。应该发生的是用户输入将已经存在的条目推送到 15,其余现有条目遵循类似的方式。如果用户不指定 ID,默认为正常行为。)
我还在学习 MySQL 和 PHP,我需要的代码是用于我已经构建了一段时间的图库系统。
有可能吗?
【问题讨论】:
-
出于参照完整性的原因,您通常不希望对主键执行此操作。您确定用户首先需要能够编辑 ID 吗?为什么?是为了美观吗?
-
它应该是一种紧急按钮,如果已经存在的条目损坏或出现问题,并且无法使用 UPDATE 命令修复。我的女朋友将在网站上提交大部分内容,但有时我不在身边修复这些错误,而且她不精通代码。我正在努力解决乔的恐慌问题。如果你明白我的意思?
-
ID 必须是连续的有什么原因吗?例如,如果记录 12 被删除,如果在 11 和 13 之间有一个“洞”,会不会有问题?
-
是的;我在那里提取所有条目的列表并按 ID 排列它们。由于它是漫画管理系统的一部分,所以我还使用递增的 ID 来显示页码。因此,如果第 12 条记录被删除,就会从第 11 页跳转到第 13 页,这将很难修复。我这样做的原因是尝试保存一些代码并尽可能保持干净。