powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нерешаемая ошибка
17 сообщений из 17, страница 1 из 1
Нерешаемая ошибка
    #38550493
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь хоть тут может найду ответ. Уже устал искать. Или хотя бы покажут куда смотреть.
Ошибка такая:
Cannot add or update a child row: a foreign key constraint fails (`adminka`.`orders`, CONSTRAINT `status_fk` FOREIGN KEY (`status`) REFERENCES `order_status` (`id`))

Вот собственно индексы
http://joxi.ru/7yLyUv3JTJCaeXHbbOA эти индексы были ДО удаления второго индекса, думал поможет, нет показал ошибку на следующий индекс.

Если инфы недостаточно, могу еще скинуть.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550614
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А причем тут индексы? Это ошибка нарушения внешнего ключа.
Как я понимаю, вы пытаетесь вставить в таблицу orders запись с таким значением в поле status, которого нет ни в одной записи в поле id таблицы order_status.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550643
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,
ситуация такая. Есть таблица orders в ней есть поле status, так как статусов несколько уникальных создана отдельная таблица order_status, там каждый статус имеет свой id.

По логике id таблицы order_status передает значение в ячейку status в таблице orders, тут вопрос, в таблице orders поле статус является INT , в таблице order_status поле ID(INT) поле STATUS(VARCHAR).

Правильно ли построена логика?

Заранее благодарен.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550652
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanov,

Нет, неправильно. Никто никуда ничего не передает. foreign key требует точного соответствия типов полей, которое ссылается и на которое ссылаются.
Покажите определение ваших таблиц, чтобы можно было говорить конкретнее.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550654
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да при чём тут логика? если FK создался, значит, формальная логика не нарушена.
А вот при вставке следует сперва ввесли статус в order_status, и только потом использовать его id в поле status таблицы orders.
Модератор: заменил АЛ -> FK
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550765
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Вот собственно сами таблицы http://joxi.ru/8DvyUv3JTJCXeVRl9_I


Akina,

Так Вы перечислили именно то, что я и написал. Но не работает.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550788
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переприложил картинку.
На будущее - скриншоты прикрепляйте непосредственно к посту в формате PNG с цветностью в 256 или меньше цветов.
А определения таблиц лучше показывать текстом, например, результат SHOW CREATE TABLE.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550793
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видно, что поля orders.status и order_status.id имеют одинаковые типы, как того и требует FK.
В поле orders.status можно помещать только те значения, которые есть в поле order_status.id. Видимо, произшла попытка вставить какое-то другое значение, отчего и возникла ошибка в начальном посте.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550838
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Спасибо за разъяснения, каким образом тогда лучше поступить? Что бы в дальнейшем к каждому наименованию можно было бы присваивать значение из таблицы. Ведь в любом случае значения order_status было бы неверно размещать в таблице orders?
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550873
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanovкаким образом тогда лучше поступить?
Тебе уже один раз русским по белому сказали:
Akinaпри вставке следует сперва ввести статус в order_status, и только потом использовать его id в поле status таблицы orders.
Что в этой фразе тебе непонятно?
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550895
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Ну во первых я не грубил, во вторых тут задают вопросы, я их задаю, в третьих если не хочешь можешь не отвечать.

По проблеме, данные в таблице имеются но данные все равно не вставляются. Есть ли другие варианты почему такое еще может быть?
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38550945
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanovданные в таблице имеются но данные все равно не вставляютсяПоказывайте данные и INSERT, которым "не вставляются".
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38551099
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanovданные в таблице имеются но данные все равно не вставляются.Не верю. Или у тебя на самом деле вовсе не то, что ты описываешь.
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38551132
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina,

Вот данные. Выбор из которых должен присваиваться.

(надеюсь картинка вставится)

Сейчас решил вытащить сначала данные из этой таблицы, потом при обработке данных в таблице orders, если значение в POST будет равным переменной к примеру open (заранее ее значение вытащим из таблицы order_status) то ее значение помещается в таблицу orders в поле status.

А вот тут с проблемкой столкнулся, он почему то вытаскивает только первое значение, хотя хочу выбрать все чтобы из них выбирать.

Код: php
1.
2.
3.
4.
5.
6.
$os="select * from order_status";
					
					$result = mysql_query($os);
					
					$orderstatus = mysql_fetch_array($result);
					echo $orderstatus['status'];
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38551136
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanov,

Юноша, Вы зря быкуете на вот эту фразу старшего товарища:

Akina
при вставке следует сперва ввести статус в order_status, и только потом использовать его id в поле status таблицы orders.

Собственно в ней, и ей - сказано всё. Медитируйте над ней до полного просветления. Можно с мануалом по FKеям.

Уж извините, за поучительный тон, но я его понимаю "как частенько достают студенты-прогульщики с пропущенными вопросами".
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38551137
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
borisruzanovА вот тут с проблемкой столкнулся, он почему то вытаскивает только первое значение, хотя хочу выбрать все чтобы из них выбирать.Почитайте хотя бы примеры в документации по тем функциям, которые используете. http://php.ru/manual/function.mysql-fetch-array.html
...
Рейтинг: 0 / 0
Нерешаемая ошибка
    #38551590
borisruzanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arhat109,

Спасибо за разъяснения. Хотелось бы единственное обозначить, что я не являюсь учеником прогульщиком. Работающий человек столкнувшийся с такой вот проблемой и ни на что кроме своих сил я рассчитывать не могу, вот и спрашиваю где могу и как могу. Еще прохожу дополнительное обучение, но его порой не хватает.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нерешаемая ошибка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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