如何将表的内容插入到另一个表中,但不包括其主键(id)?

时间:2013-10-02 08:47:21

标签: php mysql

我正在尝试使用以下代码将两个表的内容合并为一个(sortedArrivals):我不希望插入主键ID(此处称为flightShed.id)。

$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'

我如何实现这一目标? 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

  

我不希望插入主键ID(此处称为flightShed.id)。

那么选择它们......

  

但是我想要一个递增的主键。

...但在他们的位置选择NULL; autoindex列的NULL值将自动增加ai计数器。