可行否?目前我是将第一个数据库的全部内容读取出来,再全部插入到第二个数据库中。这样速度就慢了很多,每次插入后还得全部删除方便第二次查询时再插入。第一个数据库的类型为:sqlite 3,第二个数据库的类型为 Mysql 5或者大家给我一个更好点的解决方案吧。谢谢了。

解决方案 »

  1.   

    没什么好办法,异构数据库之间的 join 查询很难。特别是SQLite 根本不支持这些架构。
      

  2.   

    那可不可以这样:我先将sqlite的数据库查询出来放到一个数组,然后在mysql查询的时候再比较。如:数组的形式是:
    array(
    '白菜' => '0.8',
    '萝卜' => '0.9',
    );mysql的查询有没有办法让数据库字段跟数组进行比较如:我想查出mysql记录中,价格小于数组中对应的价格的记录SELECT * FORM table WHERE price > () AND name='()'括号中的内容是否有办法跟数组对应个什么关系。或许没表达清楚,但其实就是不想再建表,插入、删除记录来达到1楼说的效果。
      

  3.   

    如果数据量不大,则可以利用从SQLite 中等到的结果
    '白菜',0.8
    '萝卜',0.9来形成MYSQL的SQL语句 $strSQL =SELECT * FORM table 
    WHERE 
    (name='白菜' and price>0.8) or  
    (name='萝卜' and price>0.9) 
    或者SELECT * FORM table 
    WHERE price>case name 
    when '白菜' then 0.8
    when '萝卜' then 0.9
    end
    但如果SQLite返回的记录很多,则不可行了。 不如用你原来的方法,把SQLite中的结果先临时存入到MYSQL的表中,然后用 JOIN.
      

  4.   

    非常感谢。学到了不少知识sqlite表的记录固定在2000条左右mysql 记录可能比较大,还是用以前的方法好了。mysql数据记录大的时候速度就慢了。
      

  5.   

    执行几次操作我的机器的cpu就受不了啦。讯驰1.1的老cpu,1.25G的内存。真不知道放到服务器上面去大量查询服务器会受得起不。有没有什么好的解决方案没有呢?
      

  6.   

    你将SQLITE中的数据导出到TXT文件,再导入到MYSQL中不行?
      

  7.   

    用语言连接MYSQL、SQLITE,用ADO、ADOX取得所有表名,循环,打开记录集,分别插入,
      

  8.   

    如果没有特殊字段,可以用JET SQL做桥梁,将SQLITE中的数据->MYSQL中
      

  9.   

    数据插入倒没什么,我用php的pdo操作,很容易就搞定了。结贴。