|
|
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Надеюсь хоть тут может найду ответ. Уже устал искать. Или хотя бы покажут куда смотреть. Ошибка такая: 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 эти индексы были ДО удаления второго индекса, думал поможет, нет показал ошибку на следующий индекс. Если инфы недостаточно, могу еще скинуть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 15:42:25 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
А причем тут индексы? Это ошибка нарушения внешнего ключа. Как я понимаю, вы пытаетесь вставить в таблицу orders запись с таким значением в поле status, которого нет ни в одной записи в поле id таблицы order_status. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 16:29:26 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
miksoft, ситуация такая. Есть таблица orders в ней есть поле status, так как статусов несколько уникальных создана отдельная таблица order_status, там каждый статус имеет свой id. По логике id таблицы order_status передает значение в ячейку status в таблице orders, тут вопрос, в таблице orders поле статус является INT , в таблице order_status поле ID(INT) поле STATUS(VARCHAR). Правильно ли построена логика? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 16:40:51 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanov, Нет, неправильно. Никто никуда ничего не передает. foreign key требует точного соответствия типов полей, которое ссылается и на которое ссылаются. Покажите определение ваших таблиц, чтобы можно было говорить конкретнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 16:45:21 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Да при чём тут логика? если FK создался, значит, формальная логика не нарушена. А вот при вставке следует сперва ввесли статус в order_status, и только потом использовать его id в поле status таблицы orders. Модератор: заменил АЛ -> FK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 16:46:13 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
miksoft, Вот собственно сами таблицы http://joxi.ru/8DvyUv3JTJCXeVRl9_I Akina, Так Вы перечислили именно то, что я и написал. Но не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 17:27:12 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Переприложил картинку. На будущее - скриншоты прикрепляйте непосредственно к посту в формате PNG с цветностью в 256 или меньше цветов. А определения таблиц лучше показывать текстом, например, результат SHOW CREATE TABLE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 17:36:23 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Видно, что поля orders.status и order_status.id имеют одинаковые типы, как того и требует FK. В поле orders.status можно помещать только те значения, которые есть в поле order_status.id. Видимо, произшла попытка вставить какое-то другое значение, отчего и возникла ошибка в начальном посте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 17:38:56 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
miksoft, Спасибо за разъяснения, каким образом тогда лучше поступить? Что бы в дальнейшем к каждому наименованию можно было бы присваивать значение из таблицы. Ведь в любом случае значения order_status было бы неверно размещать в таблице orders? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 17:58:57 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanovкаким образом тогда лучше поступить? Тебе уже один раз русским по белому сказали: Akinaпри вставке следует сперва ввести статус в order_status, и только потом использовать его id в поле status таблицы orders. Что в этой фразе тебе непонятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 18:26:55 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Akina, Ну во первых я не грубил, во вторых тут задают вопросы, я их задаю, в третьих если не хочешь можешь не отвечать. По проблеме, данные в таблице имеются но данные все равно не вставляются. Есть ли другие варианты почему такое еще может быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 18:38:49 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanovданные в таблице имеются но данные все равно не вставляютсяПоказывайте данные и INSERT, которым "не вставляются". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 19:18:05 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanovданные в таблице имеются но данные все равно не вставляются.Не верю. Или у тебя на самом деле вовсе не то, что ты описываешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 21:04:57 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Akina, Вот данные. Выбор из которых должен присваиваться. (надеюсь картинка вставится) Сейчас решил вытащить сначала данные из этой таблицы, потом при обработке данных в таблице orders, если значение в POST будет равным переменной к примеру open (заранее ее значение вытащим из таблицы order_status) то ее значение помещается в таблицу orders в поле status. А вот тут с проблемкой столкнулся, он почему то вытаскивает только первое значение, хотя хочу выбрать все чтобы из них выбирать. Код: php 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 21:41:27 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanov, Юноша, Вы зря быкуете на вот эту фразу старшего товарища: Akina при вставке следует сперва ввести статус в order_status, и только потом использовать его id в поле status таблицы orders. Собственно в ней, и ей - сказано всё. Медитируйте над ней до полного просветления. Можно с мануалом по FKеям. Уж извините, за поучительный тон, но я его понимаю "как частенько достают студенты-прогульщики с пропущенными вопросами". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 21:46:21 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
borisruzanovА вот тут с проблемкой столкнулся, он почему то вытаскивает только первое значение, хотя хочу выбрать все чтобы из них выбирать.Почитайте хотя бы примеры в документации по тем функциям, которые используете. http://php.ru/manual/function.mysql-fetch-array.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2014, 21:47:34 |
|
||
|
Нерешаемая ошибка
|
|||
|---|---|---|---|
|
#18+
Arhat109, Спасибо за разъяснения. Хотелось бы единственное обозначить, что я не являюсь учеником прогульщиком. Работающий человек столкнувшийся с такой вот проблемой и ни на что кроме своих сил я рассчитывать не могу, вот и спрашиваю где могу и как могу. Еще прохожу дополнительное обучение, но его порой не хватает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2014, 11:51:54 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38550765&tid=1835266]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 346ms |

| 0 / 0 |
