- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
массив данных в виде: tb1(id2, id3, value), tb2(id2, id3, value) кладём во временные таблицы ttb1 и ttb2, делаем им собственные id автоинкрементом.
INSERT INTO tb1 (id2, id3, value)
SELECT ttb1.id2, ttb1.id3, ttb1.value FROM ttb1
WHERE ttb1.id not in
(
SELECT ttb1.id
FROM ttb1 inner join tb1 on (tb1.id2 = ttb1.id2) and (tb1.id3 = ttb1.id3)
)
Для UPDATE принцип тот же только условие меняется на
WHERE ttb1.id in (SELECT ...)
соответственно надо некоторые поля добавить ( add), а некоторые изменить. Сочетание id2+id3 ВСЕГДА УНИКАЛЬНО! Но ключа id нету на момент добавления!
не особо понятно, но , может вы не в курсе, что первичный ключ можно делать составным?
все упростится.
Не понимаю. id2+id3 - уникален. Следовательно, при использовании REPLACE:
1. (Петя , характер , исправился) - запись будет замещена;
2. (Миша , лицо, удивленное) - запись будет создана.
Да нет же - ему нужен именно первичный ключ, иначе он просто добавляет, хотя может вот тут собака порыта:
не особо понятно, но , может вы не в курсе, что первичный ключ можно делать составным?
все упростится.
нет не в курсе... велкам рассказать! :)
malls, да что тут рассказывать. просто вместо искусственного ключа с autoincrement, вы можете объявить логичный первичный ключ :
create table (
id2
..
PRIMARY KEY (id2,id3)
);
и можете быть уверены, что комбинации id2 и id3 полностью точно идентифицируют запись.
malls, да что тут рассказывать. просто вместо искусственного ключа с autoincrement, вы можете объявить логичный первичный ключ :
create table (
id2
..
PRIMARY KEY (id2,id3)
);
и можете быть уверены, что комбинации id2 и id3 полностью точно идентифицируют запись.
остается вопрос - как потом обращаться по первичному ключу к записи? Т.е. первичный ключ данной таблицы, исполльзуется для идентификации записей в других таблицах - как с этим работать? Причем предположим такой вариант:
как поле в другой таблице определить под хранение этого ключа?
malls, да как и всегда, только указывать или соединять сразу по обоим значениям полей.
и еще, не очень хорошая идея делать primary key из varchar. я то думал у вас там ссылка на некий словарь свойств и оба поля целочисленные.
malls, да как и всегда, только указывать или соединять сразу по обоим значениям полей.
да уже вроде разобрался :) осталось базы перекроить немного и блин скрипты... :)
и еще, не очень хорошая идея делать primary key из varchar. я то думал у вас там ссылка на некий словарь свойств и оба поля целочисленные.
это я пример привел, в реальности там за ним записи из другой таблицы, т.е. тот самый "словарь", так что конечно оба будут числовыми.
netwind, СКОРПИОН - биг сеньк обоим!