Retrospective fix to hook_update_n() in current release I need to make a correction to a hook_update_N() function in the .install file which is causing SQL constraint errors when some users upgrade to the new release version. The original worked fine providing they ran update.php manually right after upgrading. But some users started using the site before running update.php and then when the did run it they get SQL errors. Also some automated upgrade scripts get the error. In both cases the required update is not performed.

Backgorund details are in issue https://www.drupal.org/node/2706119

The correction is done and ready, but I do not necessarily want to make another release, as it was only three months ago for the last release. 18k users have upgraded but 34k have not yet, so it would be good if the fixed update_n() function could somehow be added into the current release. Is that possible? Can git tag the new commit into current version and then I re-release it again?
You can reset the status of the hook_update_n from below query
update system set schema_version=0 where name='modulename(hook)';

Then you can run update.php so this hook_update_n() will work again with your latest changes.

Also you can see this link for schema_version values system_schema() why we have to set schema_version '0' instead of '-1'.

you can use following drush module for roll back the update version in the system table. Called "uroll" for update rollback.

https://github.com/danshumaker/drush-uroll

Usage: drush uroll --module=mycustommodule --version=5

This combined with a database backup reload script allows you to rinse and repeat when writing update functions