将值从一个数据库更新到另一个数据库-最快的方法

时间:2018-12-22 17:06:05

标签: php mysql database

我有两个桌子。 第一个数据表结构有九列,但重要的三列是:

代码|名称|值

2D3 |名称测试| 0.12

第二个表具有相同的三列。

现在我想用表2的值更新第一个表的所有行,其中代码和名称与表2中的相同。

所以我目前的想法是选择表1中所有带有代码和名称列的行,而不是检查表2中是否存在具有相同代码和名称的行,如果是,则获取该值并执行UPDATE在表1中查询表2的值。

问题在于两个表都很大,我确定我没有使用最快的方法。 有人知道最快的方法吗?非常感谢你!

编辑:查询:

$getall = "SELECT code, name, value FROM table2";
$query =  mysqli_query($conn, $getall );

while($result = mysqli_fetch_array($query))
{
  $UpdateAll = "UPDATE table1 SET value = '".mysqli_real_escape_string($conn,$result["value"])."' WHERE name = '".mysqli_real_escape_string($conn,$result["name"])."' AND code = '".mysqli_real_escape_string($conn,$result["code"])."'";
  $result2 = mysqli_query($conn, $UpdateAll); }

1 个答案:

答案 0 :(得分:2)

您说的是两个数据库,但实际上是两个表,不是吗?在这种情况下,您可以使用联接进行一次更新,例如:

update table1 t1 
inner join table2 t2 on t2.code = t1.code and t2.name = t1.name 
set t1.value = t2.value;