Я бы предложил использовать для этого синтаксис ON DUPLICATE KEY
. Это упростит запрос и позволит использовать оператор VALUES()
, который удобен для передачи параметров из вашего приложения.
Чтобы это работало, вам нужно уникальное (или первичный ключ) ограничение для colum name
. Создайте его, если он не существует:
create unique index idx_table_listnames on table_listnames(name);
Затем вы можете выполнить:
insert into table_listnames(name, address, tele)
values('Unknown', 'Unknown', '022')
on duplicate key update name = values(name)
Предложение конфликта отслеживает нарушения уникального индекса и выполняет обновление без операции.
Примечание: используйте параметризованные запросы для передачи данных из вашего приложения в запрос; экранирования ввода недостаточно, чтобы сделать ваш запрос безопасным.