Как обновить некоторые значения в таблице postgresql?
У меня есть большая база данных с большим количеством столбцов и внутри этого столбца с множеством значений.Я хотел бы обновить только тогда, когда значения больше не актуальны.Но я не могу сказать, какой из них нужно обновить из-за размера.Мой код просто обновляет все значения, но из-за большого количества данных это займет много времени.Есть ли способ указать, чтобы определить, какие значения необходимо обновить.
Хотя я мог бы поработать над этим принципалом ==> Например, если значение в сортировке столбца изменяется, остальная часть строки будетобновляться автоматически.Таким образом, он не должен искать какие-либо изменения в каждом столбце.
$host = "localhost";
$username = "postgres";
$password = "password";
$dbname = "dbtest";
$dbh = new PDO("pgsql:dbname=$dbname; host=$host", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if ($dbh->connect_error) {
die("Connection failed: " . $dbh->connect_error);
}
# Query used to insert data
# $sql = "INSERT INTO test (id,sort,full, lm, gs, sp, gan, pac, gsyn, type, searchterm, inter, pat, go) VALUES ('".$id."','".$name ."','".$full_name."','".$lm ."','".$genesymbol ."','".$specie ."','".$geneacc ."','".$placc ."','".$genesyno ."','".$type ."','".$searchterm ."','".$intera ."','".$path ."','".$geneon ."')";
# Query used to update
UPDATE species SET sort ='".$name ."', full_name='".$full_name."' , lm='".$lm ."', gs='".$genesymbol ."', sp='".$specie ."', gan='".$geneacc ."', pac='".$placc ."', gsyn='".$genesyno ."', type='".$type ."', searchterm='".$searchterm ."', inter='".$intera ."', pat='".$path ."', go='".$geneon ."' WHERE id = '".$id."' ";
if ($dbh->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $dbh->error;
}
$conn->close();