Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 10 Февраль, 2012, 06:33:48

Страниц: 1 [2] 3
Печать
Автор Тема: INSERT без повторений  (Прочитано 1264 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Stasovsky    ↓ 
30 Август, 2010, 11:46:14
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

всё, разобрался)) примеры все какие-то дибильные были))
на id же пофигу, то что он обновляется у каждого повторения?
Спустя 4 минуты 2 секунды добавил
хотя не пофигу... у меня же связка post_pd tag_id -_-
Спустя 2 минуты 48 секунд добавил
что мне делать? убрать АИ у id таблицы тегов? или как поступить?)) я не знаю)))
Записан
Stasovsky    ↓ 
31 Август, 2010, 12:02:16 , спустя 16 минут 2 секунды
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

убрать аи было глупой ошибкой -_-
Записан
adw0rd    ↓ 
31 Август, 2010, 02:13:17 , спустя 14 часов 11 минут 1 секунду
НЕ ХУЕТА! ХУЕТА!

эдво
Группа: Джедаи

Карма: не нужна
Сообщений: 17222
Сила слова: 1.65

какой нахер replace - это херня, еще select+update херня
 
юзайте on duplicate key, если попадается дубль, то срабатывает условие после on duplicate key, например ON DUPLICATE KEY UPDATE var = 123
если попадется дубль, то затронется 2 поля, если нет, то 1
 
если надо игнорировать дубли, то юзайте INSERT IGNORE и все
Записан

FreeBSD, Python, Django, Git, Emacs, Nginx, MySQL, SphinxSearch
Кинсбург * Либург * Футбург * Мой блог
Stasovsky    ↓ 
31 Август, 2010, 02:16:26 , спустя 3 минуты 9 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

о велики адво! у меня тут пиздец)) помоги простолюдину)) или дай пример))
Записан
Stasovsky    ↓ 
31 Август, 2010, 02:22:49 , спустя 6 минут 23 секунды
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

у меня вроде получилось, но потом я заметил ниипаццо вселенский косяк))
например, при редактировании поста есть теги "новости, пыха", я их стираю и пишу "жквери"... так вместо того, чтоб стереть и поставить новый, он мне тупо третий добавляет в тем двум))
кароче, надо все опять переделывать))
Записан
artoodetoo    ↓ 
31 Август, 2010, 02:26:01 , спустя 3 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 121
Сообщений: 3496
Сила слова: 3.46

почему replace херня? он делает что требуется
возможно replace будет быстрее, т.к. он не читает данные перед записью. а возможно медленнее. завист от… читать:
http://www.mysqlperformanceblog.com/2007/01/18/insert-on-duplicate-key-update-and-replace-into/
Записан
artoodetoo    ↓ 
31 Август, 2010, 03:00:29 , спустя 34 минуты 28 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 121
Сообщений: 3496
Сила слова: 3.46

INSERT ON DUPLICATE KEY UPDATE и REPLACE INTO ведут себя по разному с автоинкрементным полем (если оно НЕ указано в запросе) и в случае, если перечисленные поля неуникально индексированы. если есть триггеры на изменяемой таблице, тоже будет разная реакция.
 
надо знать оба варианта и выбирать правильный. для ТС верный ответ
REPLACE INTO `tags` (`tag_name`, `tag_translate`) VALUES ('$tag', $tag_t')
при этом tag_name должен быть PRIMARY KEY или UNIQUE KEY
« Последнее редактирование: 31 Август, 2010, 02:59:31 от artoodetoo » Записан
Stasovsky    ↓ 
31 Август, 2010, 03:08:39 , спустя 8 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

REPLACE INTO `tags` (`tag_name`, `tag_translate`) VALUES ('$tag', $tag_t')
при этом tag_name должен быть PRIMARY KEY или UNIQUE KEY
именно так у меня и было... но реплейс обновляет айди.. то есть у меня было, например, 1 => новости, 2 => пхп, 3 => жквери... я добавляю новости и у меня получается так - 4 => новости, 2 => пхп, 3 => жквери...
мне это не надо, так как у меня таблица-связка post_id tag_id... а после обновления ид в таблеце tags, этот тег теряется в таблице-связке...
кто-нить че-нить понял?))
Записан
artoodetoo    ↓ 
31 Август, 2010, 03:11:30 , спустя 2 минуты 51 секунду
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 121
Сообщений: 3496
Сила слова: 3.46

какой бля айди? - добавь его в replace и он не будет изменяться
 
а вообще у тебя tag_name уникален? если да, зачем тебе айди? про нормальные формы учил?
 
Записан
Stasovsky    ↓ 
31 Август, 2010, 03:14:12 , спустя 2 минуты 42 секунды
НЕ ХУЕТА! ХУЕТА!

Сенсей XD
Группа: Джедаи

Карма: 47
Сообщений: 3265
Сила слова: 1.44

про нормальные формы учил?
нет ))
Записан
artoodetoo    ↓ 
31 Август, 2010, 03:15:43 , спустя 1 минуту 31 секунду
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 121
Сообщений: 3496
Сила слова: 3.46

школота. не нужны два ключа для одного и того же
Записан
phpdude    ↓ 
31 Август, 2010, 03:19:02 , спустя 3 минуты 19 секунд
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: д-о-х-у-я!
Сила слова: 1.72


школота. не нужны два ключа для одного и того же
да ну? :)
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
artoodetoo    ↓ 
31 Август, 2010, 03:21:27 , спустя 2 минуты 25 секунд
НЕ ХУЕТА! ХУЕТА!

с особым цинизмом
Группа: в ухо

Карма: 121
Сообщений: 3496
Сила слова: 3.46

ну да
Спустя 1 минуту 10 секунд добавил
для одного и того же. если айди - это "номер тега", а тег уникален сам по себе, айди лишний
Записан
Sinkler    ↓ 
31 Август, 2010, 03:37:19 , спустя 15 минут 52 секунды
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 61
Сообщений: 6097
Сила слова: 1


ну да
Спустя 1 минуту 10 секунд добавил
для одного и того же. если айди - это "номер тега", а тег уникален сам по себе, айди лишний
а если идентификатор тега используется в других таблицах, а мы захотим тег переименовать, то нам все строки в других таблицах апдейтить надо??
Записан

phpdude    ↓ 
31 Август, 2010, 03:38:03 , спустя 44 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 339
Сообщений: 19713
Сила слова: 1.72



ну да
Спустя 1 минуту 10 секунд добавил
для одного и того же. если айди - это "номер тега", а тег уникален сам по себе, айди лишний
а если идентификатор тега используется в других таблицах, а мы захотим тег переименовать, то нам все строки в других таблицах апдейтить надо??
красавчег, я не успел подъебать :(
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Страниц: 1 [2] 3
Печать
 

Перейти в: