1

2 つのテーブルがあり、どちらも最初の列が PRIMARY であり、これも自動インクリメントです。最初のテーブルには 1 から 67 までの 67 のエントリがあり、2 番目のテーブルには 48 のエントリがあります。どちらも同じ列です。Table2 からコンテンツを取得し、それらを Table1 に挿入して、Table1 の次のエントリが 68 から始まるようにします。最終的に、Table1 には 115 のエントリがあり、PRIMARY 列にもそれが表示されます。私はこれを試しました:

INSERT INTO `Table1` SELECT * FROM `Table2`

しかし、それは言った

#1062 - Duplicate entry '1' for key 'PRIMARY'

私は何をしますか?

4

4 に答える 4

5

挿入する列に名前を付け、挿入から auto_incrment 列を残します

INSERT INTO `Table1` (col2, col3, col4)
select col2, col3, col4 from `table2`
于 2013-10-18T04:09:07.830 に答える
3

ID 列なしで、入力する列を指定する必要があります。

何かのようなもの

INSERT INTO `Table1` (column1, column2,...,columnn) 
SELECT column1, column2,...,columnn FROM `Table2`
于 2013-10-18T04:10:28.927 に答える