您好我当前正在使用一个系统来比较2个人输入的2个页面并进行编辑,但首先我将数据插入到每行的数据库中,因此输出看起来像这样
一个
2
3
4
5
6
这是数据库
id pagenum linenum data bookname
1 1 1 one twilight
2 1 2 two twilight
3 1 3 three twilight
4 1 4 four twilight
5 1 5 five twilight
6 1 6 six twilight
但是我想在ID号2和3之间插入2行并更新它上面和下面的亚麻布 所以我要查询上面的行号,我将把它放在哪里查询linenumb,其中id = 2 + 1所以3将是我将添加的2行的起始行号,所以它将是第3行和第4行但是困境在那里将是2 pagenum = 1 linenum = 3和pagenum = 1和linenum = 4有人可以帮助我解决结构如何解决它
所以在完成所有这些后,数据库看起来应该是这样的
id pagenum linenum data bookname
1 1 1 one twilight
2 1 2 two twilight
7 1 3 newline twilight //this is the 1st line i added
8 1 4 newline twilight //this is the 2nd line i added
3 1 5 three twilight
4 1 6 four twilight
5 1 7 five twilight
6 1 8 six twilight
我有一个困境,应该在添加的行的行号中添加什么,我应该像那样排列它们
喜欢插入... 2和3 计算起始值应为3 + 1的计数,计数将是更新和增加的次数,然后更新底部页面 或将行号留空 统计整个页面并更新它们
或者我应该将所有数据向下移动2行?像这样
id pagenum linenum data bookname
1 1 1 one twilight
2 1 2 two twilight
3 1 3 newline twilight
4 1 4 newline twilight
5 1 5 three twilight
6 1 6 four twilight
7 1 7 five twilight//i moved this 2 rows down and so this is the inserted value
6 1 8 six twilight//i moved this 2 rows down and so this is the inserted value
这是最简单,最有效的方法
答案 0 :(得分:1)
确定您将从(3)开始插入的行号。
然后获取您要插入的行数(2)。
<?php
$start = 3;
$rows = 2;
?>
然后运行此查询:
UPDATE table SET linenum = linenum + $rows WHERE linenum >= $start
这将使您的表格看起来像:
id pagenum linenum data bookname
1 1 1 one twilight
2 1 2 two twilight
3 1 5 three twilight
4 1 6 four twilight
5 1 7 five twilight
6 1 8 six twilight
现在你的新行有一个间隙,所以插入它们。