我有一张sitemaster的表,结构如下:
CREATE TABLE `sitemaster` ( `sitemaster_id` int(11) NOT NULL auto_increment, `username` char(20) NOT NULL, `password` char(40) NOT NULL, `qq` int(15) NOT NULL, `mobile` int(15) NOT NULL, `status` tinyint(1) NOT NULL default '1', `deleted` tinyint(1) NOT NULL default '0', `idcard` char(18) default NULL, `lastlogin` datetime default NULL, `lastloginip` char(15) default NULL, `created` datetime NOT NULL, `sites` tinyint(2) default '0', `updated` datetime default NULL, `remark` char(255) default NULL, PRIMARY KEY (`sitemaster_id`) ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
其中sites字段表示站长所拥有的站点数,每次增加站点的时候加一下,用下面的代码:
Sitemaster::model()->updateCounters(array('sites'=>1, 'sitemaster_id=:sitemaster_id', array(':sitemaster_id'=>1)));
结果所有记录的sites字段值都被加了1,查看sql代码,发现conditions并没有生效,生成如下的SQL语句:
UPDATE `sitemaster` SET `sites`=`sites`+1
是否用updateCounter方法有什么限制?还是bug?呵呵,麻烦强帮忙解答一下,谢谢
PS:Yii版本为今天刚升级的1.0.6