0

次のコードを使用して、2 つのテーブルの内容を 1 つ (sortedArrivals) にマージしようとしています。

$sql = "INSERT INTO sortedArrivals

                SELECT  flightSched.id,
                        flightSched.timePeriod, 
                        flightSched.depOrArriv, 
                        flightSched.flightNo,
                        flightSched.airline, 
                        flightSched.dest,  
                        flightSched.origin, 
                        flightSched.depature,
                        flightSched.don, 
                        flightSched.arrivalTime,
                        flightSched.status 

                FROM flightSched ";

        if (!$mysqli->query($sql))
          {
            echo $counter . "<br>" ;
            die('Error: ' . $mysqli->error);

          }

ただし、増加する主キーが必要です。次のテーブルの内容を挿入しようとすると、次のエラー メッセージが表示されます。

エラー: キー 'PRIMARY' のエントリ '9' が重複しています

どうすればこれを達成できますか? どんな助けでも大歓迎です。

4

2 に答える 2

2

挿入する列に名前を付けます

INSERT INTO sortedArrivals (timePeriod, depOrArriv, flightNo, airline, 
                            dest, origin, depature, don, arrivalTime, status)
SELECT timePeriod, 
       depOrArriv, 
       flightNo,
       airline, 
       dest,  
       origin, 
       depature,
       don, 
       arrivalTime,
       status     
FROM flightSched
于 2013-10-02T08:49:12.967 に答える
0

主キー ID (ここでは flightShed.id と呼ばれます) を挿入したくありません。

それでは、それらを選択しないでください…</p>

ただし、増加する主キーが必要です。

…しかしNULL代わりに代わりに選択してください。autoindex 列に NULL 値を指定すると、ai カウンターが自動的に増加します。

于 2013-10-02T08:59:08.133 に答える