powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
19 сообщений из 19, страница 1 из 1
Помогите с запросом
    #39547186
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица 1c_offers в не поле offer_kod_org и есть куча кодов из поля offer_kod_org, всего их 2700, нужно удалить порядка 300 штук сразу списком. Как составить правильно запрос ?
delete from 1c_offers where offer_kod_org='' и как вот перечислить 300 значений ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547194
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... WHERE offer_kod_org IN (132, 42, ... 53, 342)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547195
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

т.е. перечисление всех через запятую только так ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547215
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
angrybot,

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

Конечно, есть и другие варианты решения задачи.

Например, можно заранее отметить запись "на удаление", установив ей в дополнительном поле offer_delete значение 1, а само удаление записей провести с WHERE offer_delete = 1.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547247
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

ошибку отдает
вот сейчас запрос как выглядет

DELETE FROM `1c_offers` WHERE `offer_kod_org` IN (50-40001, 50-20004, 50-20005, 50-40003, 50-40006, 50-22012, 50-22016, 50-16011, 50-17003, 50-17005, 50-70004, 50-70010, 50-70012, 50-17007, 50-17008, 50-17011, 50-17013, 50-80002, 50-80004, 50-80012, 50-80020, 50-11005, 50-17017, 50-11013, 50-17020, 50-17022, 50-19010, 50-17023, 50-23004, 50-13010, 50-13021, 50-13022, 50-16013, 50-18028, 50-18022, 51-30008, 51-30009, 51-60005, 51-60011, 51-60011, 51-60011, 51-60020, 51-60029, 51-30012, 51-20009, 51-20010, 51-20011, 51-10009, 51-10011, 52-10022, 52-20015, 52-20017, 52-20019, 52-10001, 52-10002, 52-90003, 52-90008, 52-70001, 52-70002, 52-70004, 52-70010, 52-70029, 52-70030, 52-70032, 52-70033, 52-70034, 52-70036, 52-70037, 52-16007, 52-16011, 52-13005, 52-12039, 52-12045, 52-12046, 52-12049, 52-12050, 52-13011, 52-13013, 52-13015, 52-13017, 52-13018, 52-12062, 52-12063, 52-16037, 52-40009, 52-17035, 52-60009, 52-60011, 52-60012, 52-60009, 52-60017, 52-60018, 52-60019, 52-60021, 52-12068, 52-12067, 52-12069, 52-12070, 52-12071, 52-12072, 52-12073, 52-12093, 52-12074, 52-12092, 52-12094, 52-12075, 52-12076, 52-12077, 52-12086, 52-12087, 52-12088, 52-12089, 52-12090, 52-12091, 53-20004, 53-50004, 53-70007, 53-70008, 53-60026, 53-60028, 53-60031, 53-60038, 53-60039, 53-40017, 53-40060, 53-40062, 53-40064, 53-40073, 53-70042, 54-10003, 54-30018, 54-30019, 54-10040, 54-60004, 54-80002, 54-80003, 54-80005, 54-80006, 54-80007, 54-80009, 54-80011, 54-80013, 54-80016, 54-80018, 54-80020, 54-80022, 54-80024, 54-80026, 54-80027, 54-80029, 54-80031, 54-80033, 54-80035, 54-80036, 54-80038, 54-80039, 54-80040, 54-80041, 54-80042, 54-80043, 54-80044, 54-80045, 54-80046, 54-80048, 54-80049, 54-80050, 54-80051, 54-80052, 54-80053, 54-80055, 54-80056, 54-80057, 54-80058, 54-80059, 54-80060, 54-80061, 54-80062, 54-80063, 54-80065, 54-80066, 54-30027, 54-30031, 54-11008, 54-90025, 55-30004, 55-20005, 55-50028, 55-50013, 55-50023, 55-50027, 55-10032, 55-10034, 56-30002, 58-10004, 58-30003, 58-30004, 58-30011, 58-10013, 60-40001, 60-40009, 60-40013, 60-30003, 60-30009, 60-30018, 60-60011, 60-10009, 61-20009, 61-30001, 61-30002, 57-60010, 57-20003, 57-20019, 57-20021, 57-20022, 57-20023, 57-60021, 57-50019, 57-50016, 57-10005, 57-10006, 57-10014, 57-10027, 6301В 483, 6301В 481, 6301В 482, 60-40021, 53-70033, 57-10035, РЈРў000000002, 63-600602 , 63000798, 63-600603 , 50-80002, 50-80016, 50-80012, 50-80020, 58-10013, 60-12004, 60-11011, 53-70029, 53-70008, 51-80031, 54-30009, 52-16041, 52-16037, 52-16042, 51-20012, 51-20013, 53-70031, 58-10013, 52-15015, 57-70018, 52-20020, 55-50039, 55-50038, 61-20009, 53-40100, 50-24017, 57-10005, 53-40019)
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547248
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
angrybot,

пробовал через ='' не удаляет
поле varchar к слову
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547264
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
angrybot, не трогайте лучше мускуль.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547285
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tip78,

Ище кто то что то посоветует ?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547288
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547299
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

почитал, но для моей ситуации не совсем понял.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547340
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строковые литералы обрамляют кавычками, блин!
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547348
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
я понимаю что varchar ' '
делал так не помогло
DELETE FROM demoshop_wpshop1c_offers WHERE offer_kod_org ='123'

точнее помогло но для 1 записи, а их под 300, перечисляю через запятую отдает 0 строк

вот так DELETE FROM demoshop_wpshop1c_offers WHERE offer_kod_org ='123, 1234, 12132, 12232, 1223' так не работает
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547393
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Равенство проверяется с ОДНИМ значением. Если значений набор - используется IN. В котором КАЖДОЕ ОТДЕЛЬНОЕ значение представляет собой литерал (а не вычитание чисел, как у тебя), который и нужно взять в кавычки.
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547397
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

пример можно ...на моем примере
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547410
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Убиццо...
Код: sql
1.
DELETE FROM `1c_offers` WHERE `offer_kod_org` IN ('50-40001', '50-20004', '50-20005', ...
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547425
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

все получилось спасибо

пришлось всем проставить ковычки и убрать пробелы

DELETE FROM 1c_offers WHERE offer_kod_org in('50-40001','50-20004','50-20005','50-40003','50-40006','50-22012','50-22016','50-16011','50-17003','50-17005','50-70004','50-70010','50-70012','50-17007','50-17008','50-17011','50-17013','50-80002','50-80004','50-80012','50-80020','50-11005','50-17017','50-11013','50-17020','50-17022','50-19010','50-17023','50-23004','50-13010','50-13021','50-13022','50-16013','50-18028','50-18022','51-30008','51-30009','51-60005','51-60011','51-60011','51-60011','51-60020','51-60029','51-30012','51-20009','51-20010','51-20011','51-10009','51-10011','52-10022','52-20015','52-20017','52-20019','52-10001','52-10002','52-90003','52-90008','52-70001','52-70002','52-70004','52-70010','52-70029','52-70030','52-70032','52-70033','52-70034','52-70036','52-70037','52-16007','52-16011','52-13005','52-12039','52-12045','52-12046','52-12049','52-12050','52-13011','52-13013','52-13015','52-13017','52-13018','52-12062','52-12063','52-16037','52-40009')
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547619
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробелы то чем помешали?
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547662
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
50-20005
такое лучше хранить, как numeric
...
Рейтинг: 0 / 0
Помогите с запросом
    #39547663
tip78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или даже в двух колонках лучше, так индекс чётче отработает по идее
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]