Нужно ли обновлять данные, когда они не меняются - PullRequest
0 голосов
/ 11 июня 2018

Я хочу обновить строку в таблице , перед обновлением мне нужно проверить, есть ли какие-либо изменения в каждом столбце?

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Это было бы полностью на ваше усмотрение, чтобы проверить, есть ли что-нибудь там перед рукой.Вы можете делать обновления на основе одной строки, нескольких или всех из них.

Пример, в котором вы обновляете определенную строку, выглядит следующим образом:

UPDATE your_table
SET Username='TestName123'
WHERE UserID='12486';

, где вы будете изменять имя пользователя, где ИД пользователя равен 12486

ИЛИ вы можете обновить всестрок с данными, которые вы хотите, например,

UPDATE Customers
SET Country='USA'

Это обновит каждую запись, чтобы столбец Страна был заполнен США.

0 голосов
/ 11 июня 2018

В MySQL вам не нужно проверять значение.MySQL не обновляет запись, если нет изменений.Это означает, что MySQL не требует дополнительных затрат при ведении журнала или записи данных.Есть небольшая плата за проверку, изменились ли какие-либо значения, и я думаю, что она запускает триггеры.

Другие базы данных ведут себя по-разному.

Это находится в непонятном месте в документации, где mysql_affected_rows() описывается:

Для операторов UPDATE значение затрагиваемых строк по умолчанию - это количество фактически измененных строк.

.,,

Целое число больше нуля указывает количество затронутых или найденных строк.Ноль указывает, что для оператора UPDATE не было обновлено ни одной записи, ни одна строка не соответствует предложению WHERE в запросе или что запрос еще не выполнен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...