从oracle数据库表中读取数据,向mysql数据库表中插入数据时,根据某个字段判断是否有数据重复。当oracle数据库表中的数据跟mysql数据库表中的数据有重复的时候,需要怎么判断,还有就是怎么进行数据的替换。

解决方案 »

  1.   

    有可以通过php内置的函数或是其他的来判断吗
      

  2.   

    这与 oracle 没有直接关系,并非只有从 oracle 来的数据才会与 MySQL 已有数据重复
    所以没有必要加上那么多限定插入时检查是否重复可以有:
    1、先 select 看看是否存在,不存在就插入
    2、只有少数字段不可重复时,可在这几个字段上建唯一索引,然后用 replace 命令插入
    3、这条记录不可重复时,可从全部待插入数据建一临时表,然后与原表做联合查询形成新表
      

  3.   

    还想再问下,'create_date'=>date('Y-m-d H:i:s')以这种方式插入的时候,在mysql显示的时候只有
    这样的效果,应该用php的哪个时间函数才能准确的将时分秒显示出来。
      

  4.   

    create_date 是什么类型的字段?
      

  5.   

    time类型
      

  6.   

    time 类型字段怎么可能值是 2015 ????
      

  7.   

    你的 create_date 字段是 int(10)
    不能存放日期,需将日期转换成 unix时间戳
      

  8.   

    就你 #11 的代码而言,就是
      'create_date' => time(),
      

  9.   

    刚试了下,不行,在mysql数据库表显示的是毫秒数
      

  10.   

    刚试了下把create_date字段的类型改为date,然后'create_date'=>date('Y-m-d H:i:s'),最后显示的是2015-11-20
      

  11.   

    date 是日期
    datetime 是日期时间