2

ドメインという名前のテーブルを持つデータベースから、ドメインという名前のテーブルを持つ別のデータベースにデータをコピーしたいと考えています。

phpmyadmin を使用して試してみましたが、おそらく Auto_increment 値が原因でコピーされません。別のdatabase.tableにコピーされないだけです。

この点で何ができるか知りたいですか?また、古い ID(auto_increment) 値を最初のデータベースから別のデータベースにコピーしたくありません。

phpmyadmin 応答。

 #1136 - Column count doesn't match value count at row 1 

データベースでは両方の構造が同じですが、これはまだです。

私のクエリ。

 INSERT INTO `site1`.`domains`
 SELECT * FROM `site33`.`domains` 

^ このくらいは固定です。今私が得る auto_increment 問題が来ます:

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

2 に答える 2

9

次のようなことができます。

INSERT INTO database2.table1 (field2,field3)
SELECT table2.field2,table2.field3
FROM table2;

注: insert および select ステートメントに自動インクリメントの列を含めないでください。

Sql フィドルの例

于 2012-09-19T18:25:34.587 に答える
1

たとえば、値の数が正しくない挿入ステートメントを使用しています。

abおよびの列を持つテーブルのc場合、これらはすべて無効です。

INSERT INTO YourTable VALUES (1, 2);

INSERT INTO YourTable(b, c) VALUES (1, 2, 3);

INSERT INTO YourTable(a, b, c) VALUES (2, 3);

列リストの列数は、値リストの値の数と一致する必要があります。

列リストを省略できるのは、列ごとに 1 つの値をテーブルに存在する順序で指定する場合のみです。ただし、これは悪い習慣です。必要な正確な列を常に指定することをお勧めします。

于 2012-09-19T18:19:02.433 に答える