|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|||||||||||
Cannot add or update a child row: a foreign key constraint fails03.10.2013, 03:30. Показов 2958. Ответов 14
Метки нет (Все метки)
Вот код ошибки:
0
|
|||||||||||
| 03.10.2013, 03:30 | |
|
Ответы с готовыми решениями:
14
Hibernate + Cannot add or update a child row: a foreign key constraint fails
Cannot add or update a child row: a foreign key constraint fails |
|
91 / 91 / 10
Регистрация: 18.05.2013
Сообщений: 265
|
|
| 03.10.2013, 12:12 | |
|
Добрый день.
Вы сделали правильное предположение - для вставки в таблицу данных Вам необходимо обеспечить чтобы поля, на которых наложено ограничение внешнего ключа (FOREIGN KEY), удовлетворяли им. То есть: 1) Разберетесь к каким полям какие ограничения 2) Вставляйте данные, учитывая эти ограничения. К примеру есть 2 таблицы. Таблица 1 (tbl1): id:int Таблица 2(tbl2): id:int id_tbl1:int На поле id_tbl1 таблицы tbl2 внесено ограничение, внешний ключ ссылается на таблицу tbl1 поле id. Таким образом (для примера) при вставке Вы должны обеспечить тот факт, что вставляемое в поле id_tbl1 таблицы tbl2 значение будет содержаться в таблице tbl1 поле id.
1
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 13:09 [ТС] | |
|
Ну да. Но как сделать такой инсерт?
0
|
|
|
|
|
| 03.10.2013, 14:51 | |
|
Возможно проблема в том, что в таблице user_information нет строки с id = 4.
Возможно у вас нарушение целостности данных и поэтому ошибка. Сначала надо обеспечить наличие соответствующих записей в таблицах, на которые ссылаются внешние ключи, а потом уже заполнять вашу основную таблицу.
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 14:59 [ТС] | |
|
Gibby, я работаю в MySQL WorkBench. Связиваю стрелочками связь между таблицами и воркбенч сам создает внешние ключи и устанавливает связь. Здесь ошибки не может бить
0
|
|
|
|
|||||||
| 03.10.2013, 15:03 | |||||||
|
Что выдает запрос
Ну и про "здесь ошибки быть не может" - это вы оптимист
0
|
|||||||
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 15:18 [ТС] | |
|
0 строчек было возвращено. Так как таблицы у меня пустые
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 15:27 [ТС] | |
|
Вот
0
|
|
|
|
|
| 03.10.2013, 15:35 | |
|
Ну, теперь вам надо заполнить все остальные таблицы, куда ведут ваши FOREING_KEY'ы и наступит вам щастье.
Смотрите, когда выв таблицу account вставляете запись, вы говорите, что существует некий пользователь с id = 4, некий кошелек с id = 5 и некий тип счета с id = 6. Все эти сущности хранятся в соответствующих отдельных таблицах. Когда вы пытаетесь выполнить запрос, база проверяет целостность данных - т.е. проверяет, что в таблице user_information действительно есть такой пользователь, в таблице wallet действительно есть такой кошелек и т.д. Если хотя бы одна из таких проверок не пройдет - вы получите Foreign key violation. Т.е. нарушение условий целостности, заданных внешним ключом.
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 15:41 [ТС] | |
|
Gibby, тоесть вставлять запись в account нужно в самом конце?
Добавлено через 2 минуты Я работаю с БД через DAO. Блииииииин, нужно написать DAO еще и для остальных таблиц. Думал это оставить на потом, прийдется сейчас.
0
|
|
|
|
|
| 03.10.2013, 15:55 | |
|
Я не знаю, что такое "DAO еще и для остальных таблиц" - но да, если вы ползуетесь некой сущностью "клиент", то эта сущность должна существовать. Вы можете взять уже существующую сущность либо предварительно создать новую. Но сначала воспользоваться, а потом создать - нельзя.
Вообще с базами данных обычно работают с помощью фреймворка Hybernate. Возможно, стоит с ним познакомиться.
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 16:00 [ТС] | |
|
Gibby, это да. Hibernate будет. Но сначала нужно выучить web. Программу обучения к сожалению создавал не я.
Добавлено через 3 минуты Gibby, netbeans может сам генерить сущность с таблицы. Правда иногда нужно поправлять после него
0
|
|
|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|
| 03.10.2013, 16:12 [ТС] | |
|
Bionic
Препод узнал, что мы не очень знаем jdbc, сказал дальше идти мы не можем.
0
|
|
|
|
|
| 03.10.2013, 16:15 | |
|
Ну, что я могу сказать, разбирайтесь. Все не сложно на самом деле.
Если есть время и знание английского, советую этот курс прослушать: https://www.coursera.org/course/db Внятное изложение основ.
1
|
|
| 03.10.2013, 16:15 | |
|
Помогаю со студенческими работами здесь
15
Cannot add or update a child row: a foreign key constraint fails Cannot add or update a child row: a foreign key constraint fails #1452 - Cannot add or update a child row: a foreign key constraint fails Ошибка "Cannot add or update a child row: a foreign key constraint fails" Ошибка MySQL: "Cannot add or update a child row: a foreign key constraint fails" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|