MySQL中执行语句:
select * from user where USER_PRIV in (select USER_PRIV FROM user_priv)
错误返回:
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select USER_PRIV FROM user_priv) LIMIT 0, 30' at line 1 能帮我看看是哪里出现问题了么?问题补充: 单独执行“SELECT USER_PRIV FROM user_priv”返回正常

解决方案 »

  1.   

    经过测试如上写法是没有错的,我的测试SQL如下:
    select * from PLFUserList where  ul_id in (select a_id as ul_id FROM PLFArticle) 
    我的MYSQL版本是5.0 估计你这个问题是版本过低造成的,MYSQL4.0.5下以都是不直接支持子查询的,可以去升级一下MYSQL版本后再试试.
      

  2.   

    目前的版本mysql的in子查询语句是应该严禁写的,效率很差改成select A.*
    from user A,USER_PRIV B
    where A.USRE_PRIV=B.USER_PRIV