在mssql中正常,我改为mysql后,发现无效,脚本是这样的update TUser set userage = '24' where usermemo ='aaa'
and userid=(select max(userid) from TUser where username = 'aa')我若把(select max(userid) from TUser where username = 'aa')改为一个数值要正常的了,比如改为10,
而我单独查询select max(userid) from TUser where username = 'aa'也正常,也能得到一个数值,可是当联合起来后,居然出错了.感觉应该没什么问题啊,对mysql接触不久,请各位大虾指教。
and userid=(select max(userid) from TUser where username = 'aa')我若把(select max(userid) from TUser where username = 'aa')改为一个数值要正常的了,比如改为10,
而我单独查询select max(userid) from TUser where username = 'aa'也正常,也能得到一个数值,可是当联合起来后,居然出错了.感觉应该没什么问题啊,对mysql接触不久,请各位大虾指教。
and TUser.userid=TUser1.userid
试试这条;
CREATE TABLE `TUser` (
`userid` bigint UNSIGNED NULL AUTO_INCREMENT ,
`username` varchar(255) NULL ,
`userage` varchar(255) NULL ,
PRIMARY KEY (`userid`)
)
;
更新一个表的某一字段值,where条件中,指定的某条件的值,要用查询得来的。
表中添加几条数据,username值为aa的要不少于两条
主题中的查询语句改为下面的吧,好看点。
update TUser set userage = '24' where userid=(select max(userid) from TUser where username = 'aa')
set a.userage = '24'
where usermemo ='aaa'
select max(userid) from TUser where username = 'aa' into @temp;
update TUser set userage = '24' where usermemo ='aaa' and userid=@temp;
update TUser,(select max(userid) userid from TUser where username = 'aa') TUser1
set TUser.userage = '24' where TUser.userid=TUser1.userid2楼的sql 楼主有试过吗?