[玻璃鱼V]从一个数据库插入另一个数据库的问题 同一个服务器,两个mySQL数据库A和B,两个数据库中都有表A.a和B.a,字段等都一样,但是数据都不一样,其中字段id为自增型关键字段,两个表的关键字段有重复。现要从数据库A的表A.a中导入数据库B的表B.a的数据,重复的关键字段数据在A.a的最大id后自增。这样一个SQL语句该怎么写呢?先谢过将要回答的各位大大~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 insert ignore into dbname1.tbname1(col1,col2) select col1,col2 from dbname1.tbname2 insert into a.a (col1,col2) select col1,col2 from b.aID 字段不要列出来即可。 详细说明 ,直接导入不行?inert into a.a(f2,f3...)select f2,f3... from b.a 我的SQL就是类似楼上几位的,但是提示这个错误:#1062 - Duplicate entry '4294967295' for key 1 不会吧,你是将自增字段加入INSERT中的,去掉自增字段,假设 F1为自增inert into a.a(f2,f3...)select f2,f3... from b.a 我看了下,自增字段只有id,已经把id去掉了,依然报这个错甚至我把所有字段都去掉了,只保留插入的 subject(标题) 字段,仍然报这个错,同样是#1062 - Duplicate entry '4294967295' for key 1 自增字段达到上限了?在数据库A中运行select AUTO_INCREMENT from information_schema.TABLES where TABLE_NAME='a'结果是什么 AUTO_INCREMENT ----------------------187699 4294967296 266 10 10 266 显示这6行数据 SELECT TABLE_NAME,AUTO_INCREMENT FROM information_schema.TABLES 看看4294967296的是哪个表的,假设是DD的ALTER TABLE dd AUTO_INCREMENT = 1; 两个表都使用了ALTER TABLE dd AUTO_INCREMENT = 1;但依然报错,不过错误ID从4294967296变为了4294967295 新建1个表(DD),将此表内容导入(除自增字段),TRUNCATE 此表,导入备份的数据(INSERT INTO 此表(F2,F3,) SELECT * FROM DD),再导入B中的记录 贴出你的实际语句。另外贴出你的show create table 结果。 [mysql]求个sql语句 这几个参数在my.ini中不是这么写吗? 不同的数值怎么会让相同的查询使用不同的索引? mysql怎么实现用sql语句删除本地的一个文件 急!!!!!!Mysql子查询限制条件的一个问题 字段类型:TIMESTAMP与DATETIME的查询速度哪种比较快? 《菜鸟求助》MySQL中now()字段的比较 怎样把mysql数据导入到oracle8 中 一个常见的查询问题,希望大家能够帮我!多谢! mysql基准测试 问一个FEDERATED storage engine的问题 mysql数据库管理、维护岗位工资求助
inert into a.a(f2,f3...)
select f2,f3... from b.a
inert into a.a(f2,f3...)
select f2,f3... from b.a
在数据库A中运行
select AUTO_INCREMENT from information_schema.TABLES where TABLE_NAME='a'
结果是什么
----------------------
187699
4294967296
266
10
10
266 显示这6行数据
看看4294967296的是哪个表的,假设是DD的
ALTER TABLE dd AUTO_INCREMENT = 1;
但依然报错,不过错误ID从4294967296变为了4294967295
此表(F2,F3,) SELECT * FROM DD),再导入B中的记录