SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL
Posted
技术标签:
【中文标题】SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL【英文标题】:QLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax - LARAVEL 【发布时间】:2021-02-08 19:12:20 【问题描述】:请你帮帮我,我得到这个错误
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 mysql 服务器版本相对应的手册,以在 'where is_read = 0 附近使用正确的语法作为未读来自 messages
left join users
on users
.id
' 在第 1 行(SQL:选择users
。id
,users
。name
,users
。avatar
,users
。email
,users
。is_owner
,messages
。from
,messages
.created_at
, (SELECT count(messages.is_read) where is_read = 0 ) as unread from messages
left join users
on users
.id
= messages
.from
where messages
.to
= 175 和 users
.id
!= 175 分组 users
.id
排序 messages
.created_at
desc)
这是我在 laravel 中的查询
$my_id = Auth::user()->id;
$users = DB::table('messages')->leftJoin('users' , 'users.id' , '=' , 'messages.from')
->select('users.id' , 'users.name' , 'users.avatar' , 'users.email', 'users.is_owner' , 'messages.from' , 'messages.created_at' ,
DB::raw("(SELECT count(messages.is_read) where is_read = 0 ) as unread"))
->where('messages.to' , $my_id)
->where('users.id' , '!=' , $my_id)
->groupBy('users.id' )
->orderBy('messages.created_at', 'desc')
->get();
这只是我的实时服务器上的问题,在我的本地主机(xampp)上它工作正常,请你帮我,因为我看不到问题。
附:
当我删除这部分DB::raw("(SELECT count(messages.is_read) where is_read = 0 ) as unread"))
它工作正常,这里哪里出错了?
【问题讨论】:
你必须从tablename 做广告,所以select count() from tablename where is_read=0 谢谢伙计,这是正确的 【参考方案1】:你错过了桌子
应该是
SELECT COUNT(is_read) FROM messages WHERE is_read=0;
【讨论】:
谢谢,很多,我是新手,是的,这就是解决方案以上是关于SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.8 SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误
SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误 - LARAVEL
Cakephp SQLSTATE [42000]:语法错误或访问冲突:1064
带有消息“SQLSTATE [42000]”的未捕获异常“PDOException”:语法错误或访问冲突: