|
|
|
Почему возникает ошибка с внешними ключами?
|
|||
|---|---|---|---|
|
#18+
Всем доброго вечера! Изучаю БД, столкнулся с такой ошибкой при заполнении базы данных из файла: Есть схема, в которой несколько таблиц, две из них я пытаюсь заполнить. Между ними установлена связь "один к одному" по внешнему ключу Таблица "предметы" заполнена В таблицу "Специальности" пытаюсь внести из файла строку "1 Автотранспорт 1 3", В результате получаю ошибку Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`university`.`специальности`, CONSTRAINT `fk_Специальности_Обязательные пре1` FOREIGN KEY (`Предмет 1 ID`) REFERENCES `предметы` (`ID`) ) Как я понял почитав интернеты, такая ошибка может появляться, если внесенные данные не соответствуют ключам, хотя ключи 1 и 3 есть в таблице "предметы". Если ввести перед добавлением в таблицу такую штуку SET FOREIGN_KEY_CHECKS=0; то все работает. Так же было подозрение, что база данных создалась не InnoDB, но команда show create table "имя таблицы" выдает что тип таблицы InnoDB, значит одной причиной меньше. Подскажите, пожалуйста, как корректно исправить эту ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2015, 21:37:28 |
|
||
|
Почему возникает ошибка с внешними ключами?
|
|||
|---|---|---|---|
|
#18+
Показывайте все детали - DDL таблиц и данные, которые "ключи 1 и 3 есть в таблице "предметы"". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2015, 21:48:07 |
|
||
|
Почему возникает ошибка с внешними ключами?
|
|||
|---|---|---|---|
|
#18+
miksoft, честно говоря, я не понимаю как оно так произошло. Я таблицы создаю в Workbench через редактор диаграмм, создал диаграмму-> нажал Synchronize и оно само создает DDL. Только что дропнул схему полность., что обо заново создало DDL, и о чудо -- все заработало, хотя я ничего не менял. Почему так могло произойти? DDL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. Данные таблицы предметы представлены на скриншоте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2015, 22:00:20 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=139&tid=1833270]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 437ms |

| 0 / 0 |
