【问题标题】:Need help to solve mysql and odbc query issue需要帮助解决 mysql 和 odbc 查询问题
【发布时间】:2012-11-28 18:49:41
【问题描述】:

您好,我正在开发一个数据来自 MSSQL 数据库的应用程序。在这里使用 php odbc 连接,我获得了使用应用程序所需的所有数据。但是现在我有一个问题:

我正在寻找:

来自 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数据库中的数据。

请帮我解决这个问题。

谢谢你..

【问题讨论】:

  • 你用的是mssql还是mysql?
  • 我使用 mysql 存储检查的数据,因为所有数据都来自 mssql,我通过 php odbc 连接到 mssql 以检索所有数据,我会在 mssql 本身中标记所选数据,但我'm 仅提供对 mssql 数据库的读取访问权限。

标签: php mysql sql-server odbc


【解决方案1】:

您需要使用mssql_sqlsrv_PDO 函数连接到MSSQL。 mysql_ 函数仅适用于 MySQL。

如果要从两个连接中获取数据,则需要两个单独的连接。

或者,您可以使用 ODBC 连接从 MSSQL 连接到 MySQL,并在 MSSQL 端执行查询。

【讨论】:

  • 我在检索数据方面没有问题,你能告诉我如何检查来自 mssql 的数据是否存在于 mysql 中,以便如果存在,我可以跳过这些并仅列出哪些存在或不存在。 odbc_exec($odbc_conn, $query) mysql($query, $mysqlConn)
  • @sravis 您可以将数据放入数组并比较数组。但是,如果您从 MSSQL 直接到 MySQL 进行 ODBC 连接会更好。
  • mssql 有大量数据(例如每天超过 1000 条记录),我有 2 个不同的 php 连接 1 用于 odbc 和其他用于 mysql,两者都运行良好,但我该怎么做从mssql中获取记录是否存在于mysql表中?使用数组我认为这不是一个更好的主意,因为有大量数据,你能告诉我可以检查 mysql 中现有记录的查询,然后从 mssql 中不存在的记录中列出。
  • @sravis 查看this article,了解如何将 MySQL 链接到 MSSQL。建立链接服务器后,您可以在 MSSQL 中从 MySQL 表中编写查询。
【解决方案2】:

其他答案已经告诉您如何连接两个数据库,但根据您的 cmets,您仍然想知道如何进行比较。

我必须假设您至少有一列可以唯一标识 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

如果我们对您的数据有更多了解,可能还有其他方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多