|
ON UPDATE CASCADE - 1 столбец из 4 не срабатывает
|
|||
---|---|---|---|
#18+
Добрый день форумчане! Мои мысли ни как не могут найти выход из сложившейся ситуации. REFERENCES Procuctcat (id) ON UPDATE CASCADE - срабатывает REFERENCES Product (itemid) ON UPDATE CASCADE - срабатывает REFERENCES Procuctcat (id) ON UPDATE CASCADE - срабатывает REFERENCES Product (name) ON UPDATE CASCADE - не срабатывает SQlite ответ: An error occurred while committing the data: foreign key mismatch - "Sales" referencing "Product" Если указать в таблице Product столбце name значение UNIQUE - то запрос на изменение ячеек срабатывает.. Код создаваемых таблиц: Код: 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.
Скриншоты таблиц под спойлером ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 17:24 |
|
ON UPDATE CASCADE - 1 столбец из 4 не срабатывает
|
|||
---|---|---|---|
#18+
bukreevlad, Поле Product.name не ключевое и SQLite при каскадном обновлении не знает какую именно обновлять. Т.к. Name не уникально (ни PRIMARY ни UNIQUE) и может быть использовано в нескольких записях. Да и зачем хранить Name в Sales, если оно есть в справочнике Product? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 20:16 |
|
ON UPDATE CASCADE - 1 столбец из 4 не срабатывает
|
|||
---|---|---|---|
#18+
VSVLAD, VSVLADДа и зачем хранить Name в Sales, если оно есть в справочнике Product? Тут я с тобой согласен, и уже переделал базу данных. А как в таких случаях поступать ? Если при выборке или каскадном обновлении вступают в конфликт две с одинаковым именем колонки? Можно ли как то явно указать из какой таблицы с именем id получить значение? Вот сейчас пишу код, что бы вытянуть из таблицы Product название продукции. Столкнулся с тем, что в обоих таблицах есть колонки с именем id : Код: sql 1. 2. 3. 4. 5.
Ошибка при выполнении SQL запроса к базе данных 'db_000000001': ambiguous column name: id - Именно то, что ты и говоришь... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2016, 21:07 |
|
ON UPDATE CASCADE - 1 столбец из 4 не срабатывает
|
|||
---|---|---|---|
#18+
bukreevlad, Уже разобрался! Спасибо! Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2016, 17:56 |
|
|
start [/forum/topic.php?fid=54&msg=39374507&tid=2008545]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 272ms |
total: | 400ms |
0 / 0 |