Обновление значения из одной базы данных в другую базу данных - самый быстрый метод - PullRequest
0 голосов
/ 22 декабря 2018

У меня есть две таблицы.Первая структура данных имеет девять столбцов, но важными являются три:

код |имя |значение

2D3 |имя теста |0,12

вторая таблица имеет те же три столбца.

Теперь я хочу обновить все строки первой таблицы значениями таблицы два, где код И имя такие же, как в таблице два.

Итак, моя текущая идея - сделать выбор всех строк таблицы 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 голосов
/ 23 декабря 2018

Вы говорите о двух базах данных, но на самом деле имеете в виду две таблицы, не так ли?В этом случае вы можете сделать это с одним обновлением, используя соединение, например:

update table1 t1 
inner join table2 t2 on t2.code = t1.code and t2.name = t1.name 
set t1.value = t2.value;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...