exec('update '+@tablename+ 'set a=4 WHERE a=0 ')
set 前边应加上空格:
exec('update '+@tablename+ ' set a=4 WHERE a=0 ')