powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / При .deleteRow(); получил сообщение: No primary key found for table....
4 сообщений из 4, страница 1 из 1
При .deleteRow(); получил сообщение: No primary key found for table....
    #39825603
БорисМБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База данных состоит из трех связанных таблиц. Вначале внес структуру,- все нормально, далее хочу удалить эту структуру.
resUzPorSv.deleteRow();//удаление из таблицы tpor проходит,
resiatrUz.deleteRow();//а здесь, таблица tuz, не проходит.

Т.е. из одной таблицы запись удаляет, а по двум другим - нет, дает сообщение:
org.postgresql.util.PSQLException: No primary key found for table tuz,tsv.
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.isUpdateable(AbstractJdbc2ResultSet.java:1650)
at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkUpdateable(AbstractJdbc2ResultSet.java:2826)

Кто-нибудь может посоветовать. Ведь при создании структуры выходит ключи первичные были, а при удалении исчезли.

PostgreSQL 9.6
Java8
pgAdmin 4.8

С уважением, Борис.
...
Рейтинг: 0 / 0
При .deleteRow(); получил сообщение: No primary key found for table....
    #39825782
Фотография torbasow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БорисМБ,

мне кажется, это проблема не базы, а того, что там в Java напрограммировано. Смотрите, какие запросы в базу идут.
...
Рейтинг: 0 / 0
При .deleteRow(); получил сообщение: No primary key found for table....
    #39825850
БорисМБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
torbasow, да, Вы правы , взял присвоил одному результсету другой результсет: resPorUzla=respredP; и видно потерял навигацию для resPorUzla. Поставид delete этим присвоением и удаление прошло, так что действительно надо искать обходной путь в программе.
Вы на javeFX случайно ни пишете?
С уважением, Борис.
...
Рейтинг: 0 / 0
При .deleteRow(); получил сообщение: No primary key found for table....
    #39831171
БорисМБ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БорисМБ,хотя возможно я сделал ошибку в запросе:
PreparedStatement siatrUz2 = cons.prepareStatement(
"select tuz.nzuz from tuz,tsv where tsv.nzuzvhsv=tuz.nzuz and tsv.nzporvisv=?", ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
siatrUz2.setInt(1, resUz.getInt(3));
ResultSet resIatrUz = siatrUz2.executeQuery();
Соединил две таблицы tuz и tsv по равному значению полей : tsv.nzuzvhsv=tuz.nzu и полученный результат не имеет ключевого поля.
Есть какие-то рекомендации?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / При .deleteRow(); получил сообщение: No primary key found for table....
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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