繁体   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