powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Что неправильно в запросе?
15 сообщений из 15, страница 1 из 1
Что неправильно в запросе?
    #38996547
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
delete
from auto_card_cargo acc
where not exists
(select * from `contract_cargo_sub` ccs WHERE ccs.id = acc.contract_cargo_sub_id)
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996556
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что не устраивает? сервер не принимает запрос, выдавая сообщение об ошибке? не удаляются записи? удаляются лишние записи? преподаватель не принимает решение?
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996557
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА что не устраивает? сервер не принимает запрос, выдавая сообщение об ошибке? не удаляются записи? удаляются лишние записи? преподаватель не принимает решение?
автор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 '*
from auto_card_cargo acc
where not exists
(select * from `contract_cargo_su' at line 1
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996560
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно удалить записи, у которых ключ потерялся.
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996563
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы нам врёте. Сообщение об ошибке НЕ СООТВЕТСТВУЕТ показанному тексту запроса.
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996566
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaВы нам врёте. Сообщение об ошибке НЕ СООТВЕТСТВУЕТ показанному тексту запроса.
Код: sql
1.
2.
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 'acc
where not exists
(select * from `contract_cargo_sub` ccs WHERE ccs.id = ac' at line 2


Как вы могли такое подумать?!
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996567
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. проблема в том, что DELETE алиасы не любит?
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996606
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladКак вы могли такое подумать?!
Сервер ТОЧНО цитирует фрагмент запроса. Первый вариант сообщения об ошибке первым символом цитаты имеет звёздочку, которая в тексте запроса отсутствует. Вывод очевиден - сообщение об ошибке не соответствует процитированному запросу.

Кроме того, цитата запроса начинается именно с того символа, который "не нравится" серверу.

svnvladТ.е. проблема в том, что DELETE алиасы не любит?

Маны читать не пробовал? Ну так почитай: 13.2.2 DELETE Syntax . У тебя однотабличный запрос - попробуй найти там хоть намёк на возможность использования алиаса.
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996679
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
а разве не получится так?
Код: sql
1.
2.
3.
4.
delete acc
from auto_card_cargo acc
where not exists
(select * from `contract_cargo_sub` ccs WHERE ccs.id = acc.contract_cargo_sub_id)
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #38996684
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007разве не получится так?
Получится. Потому что это - синтаксис для многотабличного запроса на удаление.
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #39001902
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaCygapb-007разве не получится так?
Получится. Потому что это - синтаксис для многотабличного запроса на удаление.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Multiple-Table Syntax

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*]] ...
    FROM table_references
    [WHERE where_condition]

Or:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    FROM tbl_name[.*] [, tbl_name[.*]] ...
    USING table_references
    [WHERE where_condition]


А где здесь про алиасы?
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #39001903
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каждый раз коробит от того, как на официальном сайте MySQL описывают синтаксис.
Во-первых, каждый раз натыкаешься на кучу опций, которые в 99% случаев никогда не используются, типа [LOW_PRIORITY] [QUICK] [IGNORE].
Во-вторых, что такое tbl_name, и что такое table_references?
Как бы между строк: "это не для средних умов, где тебе, лошаре, понять..."
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #39001904
svnvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели имелось в виду, под FROM table_references все INNER и LEFT JOIN-ы?
И, может чего-то не знаю, но напомните, что за оператор USING?
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #39001941
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvlad ,

http://dev.mysql.com/doc/refman/5.6/en/delete.html Multi-Table Deletes
You can specify multiple tables in a DELETE statement to delete rows from one or more tables depending on the condition in the WHERE clause. You cannot use ORDER BY or LIMIT in a multiple-table DELETE. The table_references clause lists the tables involved in the join, as described in Section 13.2.9.2, “JOIN Syntax”.
For the first multiple-table syntax, only matching rows from the tables listed before the FROM clause are deleted. For the second multiple-table syntax, only matching rows from the tables listed in the FROM clause (before the USING clause) are deleted. The effect is that you can delete rows from many tables at the same time and have additional tables that are used only for searching:
Код: sql
1.
2.
DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;


Or:
Код: sql
1.
2.
DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;


These statements use all three tables when searching for rows to delete, but delete matching rows only from tables t1 and t2.
...
Рейтинг: 0 / 0
Что неправильно в запросе?
    #39001987
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svnvladА где здесь про алиасы?
Обратите внимание - в синтаксисе многотабличного запроса (в обеих его формах) использовано table_references . Что такое этот table_references - разъясняется в справке по JOIN, где в т.ч. устанавливается допустимость использования алиасов.
А вот в синтаксисе однотабличного запроса используется tbl_name - т.е. однозначно имя, и никаких алиасов.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Что неправильно в запросе?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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