Мне нужно выполнить поиск и заменить столбец (MY_COL
) в таблице (MY_TABLE
). Предположим, что MY_COL
закодировано и не может быть изменено с помощью REPLACE
или UPDATE SET
.
Безопасно ли изменять строки между вызовами fetchArray
, как в примере ниже?
$stmt = $db->prepare('SELECT ID, MY_COL FROM MY_TABLE');
$res = $stmt->execute();
while($row = $res->fetchArray(SQLITE3_ASSOC)) {
$new_col = $row['MY_COL'];
//modify new_col after decoding then re-encode it
$stmt2 = $db->prepare('UPDATE MY_TABLE SET MY_COL=:new_col WHERE ID=:id');
$stmt2->bindParam(':new_col', $new_col);
$stmt2->bindParam(':id', $row['ID']);
$stmt2->execute();
}