|
|
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Нужно удалить запись из таблицы flowrate, где supply_id равно 2513, и при этом для нее существует запись в таблице writeoff с таким же id (это таблица категорий). Если в ней нет записи для данного id, то не удалять. Код: sql 1. 2. 3. Выдает ошибку ERROR 1064 (42000): 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 'INNER JOIN writeoff ON flowrate.id = writeoff.id WHERE flowrate.supply_id = 251' at line 2 При этом на удаление из flowrate стоит триггер before_delete, удаляющий записи с одноименным id из всех таблиц категорий для этой таблицы. Если пишу вот так: Код: sql 1. 2. 3. 4. То выдает ошибку: ERROR 1442 (HY000): Can't update table 'writeoff' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 03:58 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
svnvladна удаление из flowrate стоит триггер before_delete, удаляющий записи с одноименным id из всех таблиц категорий для этой таблицыЯвная ошибка логики. Даже если запись не будет удалена, связанные-то уже удалены в триггере... связанные записи удаляют в триггере AFTER. Хотя гораздо правильнее настроить внешние ключи с каскадным удалением, а не организовывать всё то же вручную. svnvladвыдает ошибкуПоказывайте текст триггера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 07:17 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Akinasvnvladна удаление из flowrate стоит триггер before_delete, удаляющий записи с одноименным id из всех таблиц категорий для этой таблицыЯвная ошибка логики. Даже если запись не будет удалена, связанные-то уже удалены в триггере... связанные записи удаляют в триггере AFTER. Таблица writeoff дочерняя по отношению к flowrate, там стоит внешний ключ, ее никак не удалишь позже. AkinaХотя гораздо правильнее настроить внешние ключи с каскадным удалением, а не организовывать всё то же вручную. На этом же форуме обсуждалось, что в MySQL не стоит доверять каскадным ключам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 16:21 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
AkinaПоказывайте текст триггера. Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 16:24 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
svnvladтам стоит внешний ключА тогда какой в тыкву триггер? надо просто настроить каскадное действие по FK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 21:16 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Akinasvnvladтам стоит внешний ключА тогда какой в тыкву триггер? надо просто настроить каскадное действие по FK. На этом же форуме обсуждалось, что в MySQL не стоит доверять каскадным ключам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 22:29 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
svnvladНа этом же форуме обсуждалось, что в MySQL не стоит доверять каскадным ключам.Подзреваю, что обсуждалось немного не то. А именно: https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html Cascaded foreign key actions do not activate triggers. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 22:54 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
miksoftsvnvladНа этом же форуме обсуждалось, что в MySQL не стоит доверять каскадным ключам.Подзреваю, что обсуждалось немного не то. А именно: https://dev.mysql.com/doc/refman/5.7/en/create-table-foreign-keys.html Cascaded foreign key actions do not activate triggers. http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=995695&msg=13741373 miksoftЕсли это не учебный проект, то забудьте вообще про изменение первичного ключа. Да и про такие каскадные удаления записей - желательно, тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 23:31 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
svnvlad http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=995695&msg=13741373 miksoftЕсли это не учебный проект, то забудьте вообще про изменение первичного ключа. Да и про такие каскадные удаления записей - желательно, тоже.Там была попытка сделать кривую архитектуру БД. Из этого никак не следует, что "в MySQL не стоит доверять каскадным ключам". Кстати, надо бы еще такой момент учесть: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_foreign_key_checks Setting foreign_key_checks to 1 does not trigger a scan of the existing table data. Therefore, rows added to the table while foreign_key_checks=0 will not be verified for consistency. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 23:55 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
Вот еще нашел из своей темы: http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1173403&msg=18096334 MasterZivsvnvladЕсли удаляем категорию, каскадно удаляется подкатегория. Ну я бы на твоём месте вообще бы с каскадными удалениями не баловался. Опасная и вредная вещь.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2018, 23:57 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2018, 00:00 |
|
||
|
Не получается удалить запись из таблицы
|
|||
|---|---|---|---|
|
#18+
svnvlad http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1173403&msg=18096407 Это то же что и 21682429 . С тех пор ничего не изменилось даже в версии 8.0. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2018, 00:23 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=47&tid=1829596]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 144ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...