簡體   English   中英

將數據從一個數據庫復制到同一個表中的另一個

[英]Copy Data From One Database To Another In Same Table

我想將數據從一個具有表名域的數據庫復制到另一個數據庫,該數據庫也有一個名為domains的表。

我嘗試過使用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' 

你可以這樣做:

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

注意:不要在insert和select語句中包含自動增量的列。

Sql小提琴的例子

您正在使用具有不正確值的插入語句,例如:

對於包含abc列的表,這些都是無效的:

INSERT INTO YourTable VALUES (1, 2);

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

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

列列表中的列數必須與值列表中的值數相匹配。

您可以只省略列列表,但前提是您為每列指定一個值,並按表中列的存在順序。 不過,這是不好的做法。 最好始終指定所需的確切列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM