View Single Post
  #3  
Old 08-03-2012, 07:54 AM
Tabasco's Avatar
Tabasco
Discordant
 
Join Date: Sep 2009
Posts: 269
Default

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.
Reply With Quote