Top.Mail.Ru
Ответы

PHP Как сделать так чтобы данные он добавлял, а существующие записи он обновлял. СУБД - PHP-MyAdmin.

Вот КОД - https://pastebin.com/KpqxNmSU
Как сделать так чтобы данные он добавлял, а существующие записи он обновлял. СУБД - PHP-MyAdmin. Возможно можно ON DUPLICATE KEY UPDATE. Только не знаю как?

Дополнен

На фото видно что он поверх просто создаёт новые записи (((

По дате
По рейтингу
Аватар пользователя
Новичок
6лет

как я понимаю, для ON DUPLICATE KEY UPDATE нужно нарушение первичного или уникального ключа.
первичный ключ, id, видать автоинкремент, так что не поможет.
можно попробовать навесить уникальность на тройку region-number-street и переписать запрос так:
INSERT INTO adress
(region,number,street,location,date)
VALUES
('$region','$number','$street','$location','$date')
ON DUPLICATE KEY UPDATE
location='$location',
date='$date'

Аватар пользователя
Искусственный Интеллект
6лет

ON DUPLICATE KEY UPDATE будет работать если ты знаешь id (ключ) записи и вставляешь с таким же
Имхо рпоще попробовать выбрать существующую запись, если результат ноль строк то запрос сделать на вставку, иначе на обновление

Аватар пользователя
Мыслитель
6лет

Через PHP проверять, есть ли в базе уже такой id / token / login / etc.
В случае, если нет - добавлять
В случае, если есть - перезаписывать какие-то нужные тебе данные

В чем именно заключается как таковая проблема? Непонимание того, как написать подобный код?
SQL феерически устарел. Есть куча интересных и удобных BSD. Почему не юзаете их, если хотите работать в PhpMyAdmin, к слову?