Uleat is correct. You would need to put your information into a table in the DB first so you could use it in the query.
If you had a table called cttemp:
Code:
CREATE TABLE IF NOT EXISTS `cttemp` (
`t_id` int(11) NOT NULL AUTO_INCREMENT,
`t_charname` varchar(100) NOT NULL,
`t_status` int(11) NOT NULL,
PRIMARY KEY (`t_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;
Once populated you could run your update like this:
Code:
UPDATE `character_` RIGHT JOIN account ON (account_id = account.id) RIGHT JOIN cttemp ON (character_.name = t_charname) SET account.status = t_status
Uleat is also correct about multiple characters on the same account. If one character has status 1 and another has status 2, whichever one is processed last will set the status.