Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление или вставка значений в таблицу
 
 автор: mister_pipin   (20.10.2014 в 22:55)   письмо автору
 
 

Привет!
Есть файл xls и таблица в mysql. Строки в xls связаны по двум полям с mysql. Подскажите как реализовать запрос что бы при совпадении значений поля обновлялись, в противном случае добавлялась новая запись в таблицу?
Заранее спасибо

  Ответить  
 
 автор: Commander   (21.10.2014 в 07:39)   письмо автору
 
   для: mister_pipin   (20.10.2014 в 22:55)
 

Если поле уникально, то может сработать конструкция типа:

INSERT INTO `table` (`val1`, `val2`, `date`) VALUES('$val1', '$val2', NOW()) ON DUPLICATE KEY UPDATE `val1` = '$new_val1';

Уникальным должно быть поле val1.

  Ответить  
 
 автор: Trianon   (21.10.2014 в 21:07)   письмо автору
 
   для: Commander   (21.10.2014 в 07:39)
 

два поля, объединенные в составной уникальный индекс (или даже первичный ключ) , тоже вполне сработают.

  Ответить  
 
 автор: Ahsan12   (22.10.2014 в 10:36)   письмо автору
 
   для: Trianon   (21.10.2014 в 21:07)
 

Если надо "сразу же", копайте в сторону AJAX. Есть готовые плагины.
http://www.vceplayer.com/simulator/vce-online.html

Подход сам по себе неправильный. Нельзя отдельно проверять пароль
и логин и сообщать юзеру, что именно неверно - или пароль или логин или
и то и другое. Таким образом вы облегчаете ему работу по подбору.

  Ответить  
 
 автор: confirm   (22.10.2014 в 11:34)   письмо автору
 
   для: Ahsan12   (22.10.2014 в 10:36)
 

Уже покопали, и сразу же:

INSERT INTO table (fields) VALUES (value) OF AJAX AFTER CHECK PASSWORD ON POFIG DUBLICATES

Работает.

  Ответить  
 
 автор: mister_pipin   (22.10.2014 в 23:27)   письмо автору
 
   для: Commander   (21.10.2014 в 07:39)
 

Спасибо! Сработало как нужно, но тут проверка идет по одному полю, уже как понимаю лучше сделать по двум полям - первое это user_id(оно не уникальное), а второе key_id(это поле уникальное). Можно ли данной конструкцией реализовать составной индекс? Что бы поле обновлялось когда оба поля совпадают и добавлялась новая запись если совпадения нет

  Ответить  
 
 автор: Commander   (23.10.2014 в 05:24)   письмо автору
 
   для: mister_pipin   (22.10.2014 в 23:27)
 

ALTER TABLE `table` ADD UNIQUE INDEX (`val1`, `val2`);

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования