When you use Rekall to access a table in a database, then there are three possibilities.
If Rekall can identify a column as providing a suitable unique key, which can also be retrieved after row insertion, then row update, deletion and insertion will work. In MySQL for instance, any auto-increment column will suffice.
If Rekall can identify a column as providing a unique key, but cannot retrieve the column value after a row insertion, then Rekall will be able to update and delete columns, but not insert ( Rekall could not insert and then display, even if it then prevented subsequent update or deletion of the row. Consider the case where row insertion triggers a server database event which updates another column which is displayed in the form. There would be no way of retrieving the column value. ) them.
If Rekall cannot identify any unique key column, then it can display table data, but it cannot update or delete rows, nor insert new rows.