第一个问题:
我有a表,其中有100个值,想把b表的800个值导入到进去,因为100值包括在800值内,所以导入的时候a表的email字段报错,因为邮箱重复了,然后我寻找解决方法。(我用的是PhpMyAdmin,MYSQL5.0.51b)方法:我以为是字段唯一的关系,所以按了下再输入SQL语句,没反应。然后找高手询问,告诉我使用ON DUPLICATE KEY或者ignore,前者没成功,也许我用的不对,后者成功了,但奇怪的是SQL语句虽然成功了,但只能导入一个值。效果:最初,导入的时候是800个导啊导,碰到了重复的,他就停止了,也就是a表导到136时,碰到137是重复的,他就停止了,想要的效果是100+800,最终能有900个值。原始insert语句
set @A:=119;
insert into wane_member (uid,username,email,password,registertime,registerip,logindate,loginip,logins) select @A:=@A+1,Company_Name,Company_Email,Company_PW,1286791810,'116.226.216.61',20101011,'116.226.216.61',1 from company;先是最后面加了个ON DUPLICATE KEY,没反应又换成ignore,也么反应,后来发现用错了,在into前面加过个ignore,成功了!但只导入一个值,换成原始insert,还是导入一个值(本来是导入到碰到重复值再停止的)求高手指教。

解决方案 »

  1.   

    insert into wane_member (uid,username,email,password,registertime,registerip,logindate,loginip,logins) select @A:=@A+1,Company_Name,Company_Email,Company_PW,1286791810,'116.226.216.61',20101011,'116.226.216.61',1 from company ON DUPLICATE KEY UPDATE wane_member.email=wane_member.email
      

  2.   

    SQL语句成功了,但是还是只加了一行,我是不是哪设置错了啊,为什么每次只加120这行啊。
      

  3.   

    http://blog.chinaunix.net/u3/116107/showart.php?id=2297866
    看看这个。
      

  4.   

    select @A:=@A+1,Company_Name,Company_Email,Company_PW,1286791810,'116.226.216.61',20101011,'116.226.216.61',1 from company有多少条记录贴建表、插入记录的SQL语句
    wane_member、company两表
      

  5.   

    菜鸟一只~完全使用的PhpMyAdmin界面化操作,没用SQL语句建立,算了,我明天去询问老师吧。
    谢谢各位的帮助,3楼的帖子很有用,虽然问题没解决,但学到知识了。