Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Замена элементов в бд
hurt3  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 143
Пользователь №: 38653
На форуме: 2 года, 11 месяцев, 7 дней
Карма:




Всем привет. Такой вопрос

есть таблица в бд, в ней строки

id | group_id | text

и имеется массив с новой инфой, который нужно поставить в уже существующие строки т.е. просто переписать информацию по очереди, как это сделать максимально просто?

Да и если существующих строк не достаточно то добавить новые
как?

Здесь запрос нужен вроде insert update но построчный
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
NitroGenerate  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 236
Пользователь №: 27946
На форуме: 5 лет, 6 месяцев, 20 дней
Карма: 11




Эмм...
Если создать уникальный индекс в бд, для поля/полей, и дальше множественная вставка insert or update ?

/* предполагается, что в бд стоит уникальный индекс по полю `text` */
INSERT INTO table (id, group_id, `text`) VALUES
(1,2,3),
(
4,5,6)
ON DUPLICATE KEY UPDATE
group_id=VALUES(group_id);
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 14978
Пользователь №: 4190
На форуме: 8 лет, 10 месяцев, 3 дня
Карма: 444




hurt3, это разовая задача или она будет постоянно? Если постоянно, то тогда это можно сделать весьма красиво и удобно.

Точнее говоря, вариантов есть несколько.
Один из них LOAD DATA INFILE. Хорошо сработает при условии, что данные записаны в отдельный текстовый файл и их структура вообще позволяет это сделать.

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

Это сообщение отредактировал sergeiss - 7.09.2016 - 12:10


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса