您好我正在开发一个数据来自MSSQL数据库的应用程序。在这里使用php odbc连接我得到所有需要的数据与app一起使用。但现在我有一个问题:
我正在寻找:
来自mssql(假设)的所有数据mssql_Table_A将在此应用程序中列出,每行都会给出复选框,以便用户可以检查所需的数据,检查后当他点击保存时,检查的数据将存储在本地MySQL数据库中(假设)mysql_table_A。
所以下次当他再次想要更多数据时,这个应用程序将列出来自mssql_table_A的所有数据,这些数据在mysql_table_A中不存在。
问题是:
如果dataflwo都来自MYSQL我会通过使用mysql select query轻松完成此任务
mysql_query("SELECT * FROM mysql_table_a WHERE NOT EXISTS (SELECT * FROM mysql_table_B WHERE thisID != thatID)")
但是这里我如何检查mysql表中存在的数据并列出odbc mssql数据库中的数据。
请帮我解决这个问题。
谢谢..
答案 0 :(得分:1)
您需要使用mssql_
,sqlsrv_
或PDO
函数连接到MSSQL。 mysql_
函数严格用于MySQL。
如果要从两者中获取数据,则需要两个单独的连接。
或者,您可以使用ODBC连接从MSSQL连接到MySQL,并在MSSQL端执行查询。
答案 1 :(得分:0)
其他答案告诉您如何连接两个数据库,但根据您的评论,您仍然想知道如何进行比较。
我必须假设您至少有一列可以唯一地标识table_a中不在table_b中的行。如果你在MS SQL Server中链接mysql,就像一个答案说你可以
select * from mssql.table_a where unique_column not in (select unique_column from mysql.table_b)
但这可行,因为mssql链接到mssql中的mysql,即你可以做一个查询,mssql会为你做连接。
如果由于某种原因你不能或不想通过链接表将mysql链接到ms sql,最简单的方法就是在table_a中有某种时间戳。假设写入table_a的每条记录都有一个插入时间的时间戳:
mysql connection does select max(timestamp) into X from mysql.table_b
mssql connection does select * from mssql.table_a where timestamp > X
如果我们对您的数据有更多了解,可能还有其他方法。