Originally Posted by itimpi
Sounds like there must be some other non-obvious problem with the database?
It seems likely. It's very tricky to directly access Calibre's database using SQL tools. There are multiple triggers that actuate when Calibre accesses some fields. They function to keep the whole Calibre structure (internally to the db and and externally in the folders) consistent when fields are changed. For certain types of changes, you have to know what Calibre does, disable triggers, do it all manually and then reenable. Using Calibre's own tools is much easier, but then you have to learn those tools and enough Python to run them.