For anyone that is still having issues with this and none of the above fix it, I think it’s caused by having a non-default table prefix on your WordPress installation.
All my tables were prefixed with ng_ and it looped around the before-mentioned upgrade error.
You can rename your table prefix with WP Prefix Changer v1.1 Plugin by Blog Security.net.
or
Configure it manually by following this handy guide: 6 Simple Steps To Change Your Table Prefix In WordPress.
You’ll probably have to change it to the default “wp_” prefix to get it to work. I haven’t tested it yet myself, but I think it might work.