Редактирование значений
В гриде можно править значения inline — двойной клик по ячейке. ide99 покажет SQL до его выполнения и сохранит изменения как точечный UPDATE.
Когда редактирование доступно
Только если запрос явно был SELECT из одной таблицы и есть первичный ключ или уникальная колонка. ide99 определяет это автоматически:
- ✓
SELECT * FROM orders WHERE id = 123 — редактируемо
- ✓
SELECT id, status FROM orders LIMIT 10 — редактируемо
- ✗
SELECT count(*) FROM orders — нечего править
- ✗
SELECT * FROM orders JOIN customers ... — несколько таблиц, неоднозначно
- ✗
SELECT * FROM v_orders_summary — view (если не updatable)
Если правка невозможна — иконка ✏ в углу ячейки серая, двойной клик ничего не делает.
Простая правка
- Двойной клик на ячейку → она становится редактируемой.
- Введите новое значение.
- Enter или клик вне ячейки → откроется диалог с SQL:
UPDATE orders
SET status = 'paid'
WHERE id = 123;
- Кнопка Apply выполнит запрос. Cancel откатит правку в UI.
Поля разных типов
| Тип колонки |
Как редактируется |
text, varchar |
Inline, обычный input |
integer, bigint, numeric |
Inline, валидация на число |
boolean |
Чекбокс |
date, timestamp |
Date picker (всплывающий календарь) |
jsonb, json |
Двойной клик открывает JSONB-редактор |
enum |
Выпадающий список с допустимыми значениями |
array |
Двойной клик → модалка с редактором массива |
bytea, geometry, vector |
Read-only в гриде; редактируются только через SQL |
Multiple changes — батч
Если правите несколько ячеек подряд (не нажимая Save) — изменения накапливаются. Снизу появляется индикатор: 3 unsaved changes.
Кнопка Apply all покажет combined preview:
BEGIN;
UPDATE orders SET status = 'paid' WHERE id = 123;
UPDATE orders SET status = 'shipped' WHERE id = 124;
UPDATE orders SET notes = 'priority' WHERE id = 125;
COMMIT;
В транзакции — либо все применятся, либо ни одного. Discard all откатит правки в UI.
Insert новой строки
Кнопка + New row внизу грида — добавит пустую строку с серверными default'ами там, где они есть.
После заполнения — Apply → выполнится INSERT INTO ... VALUES ....
Удаление строки
Правый клик на любую строку → Delete row → откроется подтверждение с DELETE FROM ... WHERE pk = ....
На prod-подключениях с включённым Подтверждение опасных команд потребуется ввести значение PK для подтверждения (даже одной строки).
Read-only ситуации
| Ситуация |
Что происходит |
| Подключение в read-only |
Грид показывает значок 🔒, редактирование недоступно |
view без INSTEAD OF триггера |
Редактирование заблокировано, тултип объяснит почему |
Колонка GENERATED ALWAYS |
Серая ячейка, не правится |
SELECT с FOR UPDATE NOWAIT и заблокированная строка |
ide99 покажет ошибку lock-а перед началом правки |
Что дальше