У меня есть код для оператора обновления с левым соединением в нем. Этот код предназначен для обновления a_status в таблице a, когда пользователи вставляют новые данные в другую таблицу, таблицу b. Короче говоря, я хочу одновременно обновить таблицу a в столбце a_status, когда таблица b получит новые данные.
UPDATE a
LEFT JOIN b
ON a_id = b_id
SET a_status = 'Process'
WHERE
b_id = a_id;
Этот код работает и дал мне желаемый результат. Но я должен реализовать это в другом способе записи, который использует массив и MySQL :: updateData (). Проблема в том, что я не знаком с этим синтаксисом записи. Может ли кто-нибудь помочь мне в написании этого кода, чтобы я мог использовать левое соединение или что-нибудь, что может дать результат, который я хотел в приведенном выше коде. Вот что я сделал до сих пор:
$arr = array("b"=>array( array('b_id','b_modul','b_tkmsk'),
array($_GET['b_id'],$_GET['b_modul'],$_GET['b_tkmsk']),
));
MySQL::insertData($arr);
$arr = array("a"=>array(array('a_status'),
array('Proccess'),
"where a_id = b_id"));
MySQL::updateData($arr);
@ Strawberry, у вас есть какие-нибудь предложения, потому что без соединения я получил ошибку .. Неизвестный столбец 'b_id' в 'where clause'
См. meta.stackoverflow.com/questions/333952/…
Вы пишете код на каком-то языке с какой-то библиотекой - что это такое и где теги? А инструкцию вы читали? PS Вы понимаете разницу между внутренним соединением и внешним соединением?
В этом контексте внешнее соединение выглядит странно.