0

こんにちは、現在、2 人が入力した 2 ページを比較して編集するシステムを使用していますが、最初に行ごとにデータをデータベースに挿入するので、出力は次のようになります。

1

2

これがデータベースです

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

追加された行の行番号に何を入れるかというジレンマがあります。そのようにキューに入れる必要があります

insert into... のように 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

これが最も簡単で効果的な方法です

4

1 に答える 1