
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.05.2016, 14:10
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
Здравствуйте, есть следующий код для создания таблиц связанные через дополнительную таблицу newsZapros. Ошибок нету, но при выполнении Select он возвращает пусто. Код: plsql 1. 2. 3. 4. 5. 6. Заполняю таблицы с помощью следующего кода: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Код: plsql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.05.2016, 14:17
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45, Таблицу newszapros забыли заполнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 06:06
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
а как её заполнить?, я как понял она автоматически же должна заполняться?, в ней храняться одни ID, или её полностью убрать и все внешние ключи перенести в таблицу Новости -NewsData ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 09:38
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45, Нет, не должна. Заполняйте самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 11:14
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
при попытке заполнения её выдает ошибку Mysql error 1452 - Cannot add or update a child row: a foreign key constraint fails, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 11:17
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45Cannot add or update a child row: a foreign key constraint fails,В мастер-таблицу надо добавлять записи после соответствующих записей в детейл-таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 11:33
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
Т.е. вот так заполнять? INSERT INTO `NewsTag` SET `tag`='tag'; INSERT INTO `NewsAuthors` SET `authorName`='authorName', `email`='email'; INSERT INTO `NewsImg` SET `img`='img'; INSERT INTO `NewsData` SET `title`='title', `timestamp` ='1', `textnews` ='body'; INSERT INTO newszapros SET id_tableZapros = LAST_INSERT_ID(), id_news = LAST_INSERT_ID(), id_author = LAST_INSERT_ID(), id_tag = LAST_INSERT_ID(), id_img = LAST_INSERT_ID(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 11:37
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45id_tableZapros = LAST_INSERT_ID(), id_news = LAST_INSERT_ID(), id_author = LAST_INSERT_ID(), id_tag = LAST_INSERT_ID(), id_img = LAST_INSERT_ID();Сами-то в это верите? После каждого предыдущего INSERT-а надо делать свой вызов LAST_INSERT_ID() и сохранять полученное значение в промежуточную переменную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 11:55
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
А если вот так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 12:05
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45А если вот так?Да, примерно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.05.2016, 12:05
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
благодарю, наконец то сдвинулся))! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:13
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
Здравствуйте, а не подскажите как удалять записи сразу из всех связанных таблиц? Т.е. я отловил ID - строчки в связанной таблицы с внешними ключами на другие таблицы в newszapros. В этой строчке хранятся все ID записи на другие таблицы (например, newsdata.id_news = newszapros.id_news) Пробую удалить таким способом выдает ошибку #1064 DELETE FROM `newsdata` LEFT JOIN `newszapros` ON newsdata.id_news = newszapros.id_news WHERE newszapros.id_tableZapros = 10; Работает, каскадное удаление - т.е. удаляет эту запись и из таблицы newsdata и newszapros. А как с других 3 таблиц удалить?, при том что я могу отловить только ID одного параметра, не очень бы хотелось отлавливать все 4 ID для каждой таблицы и передавать их на другую страницу для удаления. DELETE FROM `newsdata` WHERE id.news=10; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:16
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45А как с других 3 таблиц удалить?А зачем из других таблиц удалять? Ведь на них могут быть другие ссылки из других записей этой же таблицы или вообще из других таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:24
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
Ну как, у меня есть новость (берется из таблицы новости), у этой новости есть автор (берется из таблицы авторы), тэг новости (берется из таблицы теги) и картинка (берется из таблицы картинки), т.е. заполняю все 4 таблицы, а ИД этих таблиц заполняются в таблицу связи с внешними ключами. Например я хочу удалить эту новость, ну и следовательно картинки к ней и автора кто добавил её и тэг этой новости, или я как то не так мыслю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:26
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45, И картинки, и авторы, и тэги могут быть использованы в других новостях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:31
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
http://hostingkartinok.com/show-image.php?id=70dde2f0efa762264f47bf11a0339fad - вид как выглядит связь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:38
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
Ну по логике вы конечно правы, подскажите а как сделать правильно?, получается я при каждой новой новости добавляю автора тег и картинку как новую запись, т.е. у меня идет наполнение таблиц одинаковыми данными, по логике же Автор должен быть 1, а новостей много. http://hostingkartinok.com/show-image.php?id=9a7bba025c8d98a4d09d7dd8fa0b416f - скрин таблицы Авторы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 11:40
|
|||
|---|---|---|---|
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45скрин таблицы АвторыА зачем там авторы повторяются? Для каждого автора должна быть одна запись. А другие таблицы могут на нее ссылаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 13:12
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
miksoft, Думаю вы правы, логика самой БД была неверна, изменил таблицу Новости на, сделал поля уникальными, внешние ключи в само создание таблицы не получилось обьединить, сделал через alter table. Теперь встала та же проблема как её заполнить? Т.е. теперь есть 3 внешних поля это tag img и author. Думал так же сделать через создание переменной SET @tagbody = tag; - ошибка Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.05.2016, 13:18
|
|||
|---|---|---|---|
|
|||
Select возвращает 0, после выполнения. |
|||
|
#18+
shade45получается я при каждой новой новости добавляю автора тег и картинку как новую запись, т.е. у меня идет наполнение таблиц одинаковыми данными А про нормализацию баз данных вы слышали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1831781]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 504ms |

| 0 / 0 |
