I had this same issue with InsertCursor, and it was nightmare to debug due to the uselessness of the error message! Thought I'd post in case it helps others.
TypeError: cannot update the table
I had two sets of tables, one in a LocalDatabase, which was a copy made as a File Database by right clicking in Pro and coping the tables, and another in a true RemoteDatabase (SQL server). I had no problems using the local data base, but got this error on the remote - exact same databases just one is for local testing in dev, etc.
My editor was like this:
edit = arcpy.da.Editor(self.sde_path)
edit.startEditing(False, True)
edit.startOperation()
# errored here
with arcpy.da.InsertCursor(table_path, field_names) as cursor:
..
edit.stopOperation()
edit.stopEditing(True)
The issue was this line: edit.startEditing(False, True)
The inputs where wrong and did not work with the non-versioned remote DB we had. Docs
I changed it to edit.startEditing(True, False) and it worked.
Rant: I get that the inputs were wrong for the setup, but how about a runtime error maybe describing the problem here? A generic python stack trace would be far superior to TypeError, when as far as I can see this is not even a TypeError at all! It's a ValueError. So misleading....