|
99 / 99 / 12
Регистрация: 05.05.2013
Сообщений: 1,208
|
|||||||||||
Cannot add or update a child row: a foreign key constraint fails03.10.2013, 03:30. Показов 2911. Ответов 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" Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|