There is some database setting the is not allowing an empty string to work as the same as the numeric 0 default value for a field. The si_customers table default_invoice field is int type and has a default value of 0. The update command was sending in an empty string (”) when this field was not set. This caused an error to be thrown. This default works on my database but not yours which is why I think it is some DB setting that differs on you set up vs mine.
I updated the customer update screen to send a 0 in for this field. This change has been uploaded to the SI version github. The new SI version is 2019.2.11. You can copy the templates/default/customers/details.tpl file from github and replace the one on your install. See if that helps. If so, you should pull the entire update and replace what you have so the the version and other info gets updated also.
While this might fix the customer update, you might encounter a similar issue on other screens. So determining the database setting that lets mine work and yours not, will be the best all around solution. I’ll keep checking to see if I can find this.