作者tingmeow (雪炉喵)
看板PHP
标题[请益] 资料库里被删除的资料?
时间Thu Mar 2 21:56:57 2017
id name relationship
1 阿猫 小王
2 阿狗 小三
3 阿摸 炮友
4 咩咩 姊姊
5 汪汪 哥哥
------------------
想请教一下,假如我删除了中间的第2-4个,
id是auto increment,那资料在插入的时候还是往後加 变成789...
这样会不会造成什麽问题呢?例如说读页码的时候..
遇到这类情况大家会怎麽做呢?
有办法让它自动补进之前被删的id吗?
新手上路 请多指点 感激感激 ~~
--
古装美女大全~快收编(<ゝω・) ☆
http://pinkjelly.org/archives/10
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.152.182
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1488463027.A.644.html
1F:→ LPH66: 除非真的有很必须的连号要求, 不然删除的缺号就给他缺 03/02 22:44
2F:→ LPH66: 很多时候这个 id 并不具有数值意义而只是一个唯一代号而已 03/02 22:44
3F:→ LPH66: 反正资料库在存资料时不是根据你的 id 决定怎麽存的 03/02 22:45
4F:→ LPH66: 缺号基本上无关紧要 03/02 22:46
5F:→ Phedra: ID 缺号不影响页码,根据页码读取资料是看实作方式。 03/03 02:48
6F:→ Phedra: 通常是根据页码换算出 Offset 去取资料 03/03 02:49
7F:→ Phedra: 例如每页显示 20 笔资料,要读取第 3 页的资料,就会是 03/03 02:51
8F:→ Phedra: offset = 20 * (3 - 1) = 40,从第40笔资料之後取得20笔 03/03 02:53
9F:→ Phedra: SELECT * FROM user LIMIT 20 OFFSET 40 03/03 02:54
10F:→ Phedra: 等同 SELECT * FROM user LIMIT 40, 20 03/03 02:55
11F:→ MOONRAKER: 不会有什麽问题,也不建议你补。 03/03 11:27
12F:→ MOONRAKER: 当然你可以用另外一个表,删除时把空号加进去,新增时 03/03 11:28
13F:→ MOONRAKER: 读出一个空号用掉,同时删掉,看你想不想做。 03/03 11:29
14F:→ MOONRAKER: 如前面所述,有db帮忙,重新编号或页数是最简单的事情 03/03 11:30
15F:推 LPH66: 啊, 看到推文回答大概猜到你的盲点在哪了 03/03 21:40
16F:→ LPH66: 基本上还是那个「id 不具有数值意义, 仅是唯一代号」的概念 03/03 21:41
17F:→ LPH66: 不过我少讲了一个性质, 这个 id 是「有序的唯一代号」 03/03 21:41
18F:→ LPH66: 列出资讯编页时并不是照数值去切页, 而是照顺序去切页 03/03 21:42
19F:→ LPH66: 所依据的就是这个「有序的唯一代号」的顺序 03/03 21:42
20F:→ LPH66: 反应在 SQL 指令上就是上面推文提的 limit / offset 03/03 21:43
21F:→ LPH66: 依照某顺序排好 (order by) 之後列出第几名 (limit/offset) 03/03 21:43
22F:→ LPH66: 因为 id 值跟实际存放位置没有关连, 不连号不影响这些操作 03/03 21:44
23F:→ LPH66: 你可以思考一下: 当进行有条件的查询时, id 值就不可能当做 03/03 21:47
24F:→ LPH66: 列表编页的依据了, 能依据的只有列表的第 N 名 03/03 21:48
25F:→ LPH66: 这个「第 N 名」概念正是 limit / offset 所代表的 03/03 21:48
26F:→ threeus: 结果问的人不见了 03/05 12:14
27F:→ latte0205: 通常都是会跟其他表做关联性的资料表, 虽然只是ID, 03/08 15:35
28F:→ latte0205: 建议还是用假性删除会比较好, 多年开发的经验 03/08 15:36
29F:→ tingmeow: 有我已经参考好上面的回答把分页写好了!!大感激QQ 03/10 01:34
30F:→ tingmeow: 虽然是去查询一些网站类似的script来写的 03/10 01:35
31F:→ tingmeow: 发现有的书把分页写得又臭又长 *-* 这个方法简单多了 03/10 01:35
32F:→ tingmeow: 谢谢大家m(__ __)m 我想先直接无视id了 03/10 01:36