После долгих попыток мне нужен ваш совет.php sql UPDATE с вложенным FROM (SELECT)
Я хочу объединить строки из 2 таблиц. После того, как я создал новую строку в таблице1, я хочу найти строку в таблице2 и объединить некоторые из полей.
Если я ставлю вложенные ВЫБРАТЬ в функции SET (SET почтового индекса = (SELECT и т.д.) это работает, но если я ставлю его в FROM функции дает ошибку, что синтаксис является неправильным
моего код:
$sql = "INSERT INTO instanties(institution, category, postcode)
VALUES('$emapData[0]', '$emapData[1]', '$emapData[2]')";
if ($conn->query($sql) === TRUE) {
//get last added id
$last = $conn->insert_id;
//define WHERE function
$where="postcode_id=$postcode_id AND (minnumber <= $number AND maxnumber >= $number)";
//UPDATE last added row in table with info from other table
$sql2 = "UPDATE instanties
SET postcode_id=pc.postcode_id
FROM
(
SELECT postcode_id
FROM postcode
WHERE $where LIMIT 1
) pc
WHERE id=$last";
$result = $conn->query($sql2);
if ($result) {
echo 'update is done<br/><br/>';
}
}
else {
echo "Error: " . $sql2 . "<br>" . $conn->error.'<br/><br/>';
}
}
else {
echo "Error: " . $sql . "<br>" . $conn->error.'<br/><br/>';
}
Показать сообщение об ошибке –
Просто для аргументации 'sql =" INSERT INTO' отсутствует '' '' '' '' 'sql''. –
да, это мой первый пост на этом форуме, и система не хотела см. эту строку как код до тех пор, пока я не удалю $ (возможно, мой плохой) –