[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Замена элементов в бд
hurt3
Всем привет. Такой вопрос

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

id | group_id | text

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

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

Здесь запрос нужен вроде insert update но построчный
NitroGenerate
Эмм...
Если создать уникальный индекс в бд, для поля/полей, и дальше множественная вставка 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);
sergeiss
hurt3, это разовая задача или она будет постоянно? Если постоянно, то тогда это можно сделать весьма красиво и удобно.

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

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

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

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

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

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.