现在有一个“数百万条记录”的“供应商产品关联表”每次插入多次记录,要求插入时判断记录是否存在,不存在就插入,存在就忽略字段有2个,都是有索引的,表中没主键:产品ID,会员ID新手经验少,请问兄弟们SQL语句如何写啊..
请直接给SQL语句。。谢谢··

解决方案 »

  1.   

    打开MYSQL的帮助文档,然后搜索1). REPLACE语法2) INSERT ,。。ON DUPLICATE KEY UPDATE 
    新手没关系,大家都是新手一步步学习过来的,关键是自己要学和习。
      

  2.   

    先读三遍《数据库系统概论(第四版)》 王珊 萨师煊   高等教育出版社 (掌握基础知识和概念) 然后再粗略浏览一遍MYSQL的官方手册。(方便以后查找,避免类似于考试的时候,给你本政治书也不知道答案在第几章,第几页)MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html
      

  3.   

    replace into tb values()
      

  4.   

    其实replace和楼主要求的有点差异,楼主是如果存在则不再插入,replace实际执行的是先删除老记录,再插入新记录,而且判断是否相同的依据不是新插入记录和老记录完全相同,而是主键和唯一索引列完全相同.
    而且从楼主描述看,主键是没有的,唯一索引是否存在不确定.
      

  5.   

    初始看到以为跟merge差不多,细看甚至可以说是完全不同
      

  6.   

    INSERT ,。。ON DUPLICATE KEY UPDATE  加一个主键
      

  7.   

    产品ID  | 会员ID11 25
    12 25
    89 25
    11 99
    89 99
    58 35
    12 35表中数据存放例子··其实就是一个会员ID能关联多个产品ID
      

  8.   

    用Replace, Replace和Insert用法一样
      

  9.   


    那原来数据库没有记录,也能用replace ?
      

  10.   


    1 你可以直接试一下,就有答案了。
    2. 你可以看一下MYSQL的文档(文档也是免费的)