Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Удаление данных из таблицы с условием
|
|||
|---|---|---|---|
|
#18+
День добрый. Возникла проблема с запросом на удаление данных. Не могу понять, как удалить данные из одной таблицы с условием по двум таблицам. Таблица customers Код: sql 1. 2. 3. 4. 5. Таблица customer_params Код: sql 1. 2. 3. 4. Клиент может быть активен или не активен (поле active), может иметь или не иметь параметры в виде IP адреса в таблице customer_params. Задача: удалить записи из customer_params, если клиент неактивен active = N. Запрос Код: sql 1. 2. 3. 4. Выдает ответ Код: sql 1. 2. 3. Я пытаюсь свой SELECT запрос использовать как подзапрос в запросе на удаление данных, Код: sql 1. 2. 3. 4. 5. 6. Но CODE ругается. Убираю DELETE и ставлю SELECT, чтобы посмотреть результат Код: sql 1. 2. 3. 4. 5. 6. 7. И получаю ошибку ERROR 1242 (21000) at line 11: Subquery returns more than 1 row Подскажите, пожалуйста, решение. Или хоть в какую сторону двигаться. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 11:39 |
|
||
|
Удаление данных из таблицы с условием
|
|||
|---|---|---|---|
|
#18+
cnyx, Оператор = сравнивает только два значения. Поэтому подзапрос должен вернуть только 1 строку. Вхождение значения в список из нескольких строк - это оператор in. Ну и mysql не даст удалять из той таблицы, откуда этот же запрос данные читает. Обойти можно ещё одним подзапросом. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 11:53 |
|
||
|
Удаление данных из таблицы с условием
|
|||
|---|---|---|---|
|
#18+
Хроническая неспособность читать мануалы дальше первого абзаца, что ли? Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.03.2017, 14:01 |
|
||
|
Удаление данных из таблицы с условием
|
|||
|---|---|---|---|
|
#18+
Melkij, к сожалению ругается на первую же строку. ERROR 1064 (42000) at line 3: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as cp AkinaХроническая неспособность читать мануалы дальше первого абзаца, что ли? Во-первых, большое спасибо, но ваш запрос работает. И по сути самый простой. Во-вторых, я понимаю, что гуру mysql вопрос кажется тупым, но я с mysql имею дело может два раза в год. Некоторые тонкости не знаю, некоторые забываю, а потому, если не получается, лезу на форумы спрашивать и просить помощи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 10:13 |
|
||
|
Удаление данных из таблицы с условием
|
|||
|---|---|---|---|
|
#18+
cnyxя с mysql имею дело может два раза в год. Некоторые тонкости не знаю, некоторые забываю, а потому, если не получается, лезу на форумы спрашивать и просить помощи.Очень жаль, что предварительно не освежаете свои знания чтением документации. Десять минут на почитать и применить самостоятельно, или три часа (если повезёт ещё) ждать ответа - есть разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2017, 11:31 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1830848]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 156ms |

| 0 / 0 |
