【发布时间】:2011-11-02 04:02:41
【问题描述】:
我是 MySql/PHP 的新手。
必须读取和显示 Database1.table1 中的每一行。它包含一个包含搜索词的列,我需要将其传递给 Database2.table2 并处理每读取一行的返回值。目前,我正在为 db1.table1 中的每一行与 Database2.table2 建立新连接,这确实很慢且效率低下。我无法更改表结构。
谢谢!
表格
db1 表 1:
id_row type model har status id date
1 ATX Hybrion 88-85-5d-id-ss y aaa12345 2011/08/12
2 BTX Savin none n aaa12345 2010/04/05
3 Full Hp 44-55-sd-qw-54 y ashley a 2011/07/25
4 ATX Delin none _ smith bon 2011/04/05
db2 表 2:
id_row id first_name last_name dept telephone
1 aaa12345 joe smith ANS 800 555 5555
2 bbb67890 sarah brown ITL 800 848 8848
所以数据库 1 表 1 是被读取和显示的表,如果 ID 为正匹配,则读取 db2 table2 并显示信息。 ID 仅在 db2 table2 中是唯一的,db1 table1 具有多格式列,因此它可能是也可能不是 ID,并且这些行可能具有重复的 ID。希望这可以更好地理解我需要什么。再次感谢!
有人建议使用EXISTS,但鉴于这种情况,我不知道如何使用。
【问题讨论】:
-
首先,建立与 DB2 的连接并保持打开状态。 其次,确保 DB2 中的
id已编入索引,因为您正在以半随机顺序访问它。 -
我的第一反应是“不要关闭它”。你没有告诉我们你的环境——操作系统、语言、正在使用的数据库库、数据库在什么服务器上——所以我不知道如何开始回答这个问题。
-
@peter:服务器版本:5.0.26,使用php连接到
mysql_connect($db_host, $db_user, $db_password) or die("Could not connect to the MySQL Server. Error: ". mysql_error());等服务器,然后连接到mysql_select_db($db_table) or die("Could not open Hartford Database. Error: ". mysql_error());等数据库,有两个单独的文件,如主文件通过require 'db1.php'; require 'db2.php';使用脚本的开头,从那里一切都使用变量作为参考,如 $table.column 和 $db1.$table1
标签: mysql database search join