mysql - laravel 中的 Mysql 查询在使用显示语法时出现语法错误
问题描述
我有如下的sql查询
show indexes from `users` where not Non_unique and Key_Name <> 'PRIMARY';
但是当我在 laravel 中编写相同的查询时,如下所示。
$columns = DB::select(DB::raw(" SHOW INDEXES FROM $table WHERE NOT Non_unique and Key_Name <> PRIMARY "))->get();
它给了我以下错误
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“PRIMARY”附近使用正确的语法
解决方案
您需要添加 ' 来换行primary
,因此请更改
$columns = DB::select(DB::raw(" SHOW INDEXES FROM $table WHERE NOT Non_unique and Key_Name <> PRIMARY "))->get();
至
$columns = DB::select(DB::raw(" SHOW INDEXES FROM $table WHERE NOT Non_unique and Key_Name <> 'PRIMARY' "))->get();
推荐阅读
- python - 努力提取美丽的汤结果集的一部分
- gnuplot - Gnuplot 向量不遵循绘图数据
- graph - 打开 Trip Planner 2. 从多个 graph.obj 文件启动服务器
- wordpress - 在 Google Cloud 上刷新 Vm-Instance
- python - 如何加速这个矢量化的 numpy 函数?
- c# - 如何在 .NET Core 3.1 中正确使用带有字符串本地化器的资源文件?
- reactjs - 如何添加电子邮件存在验证以基于 Api 响应响应 js
- python - 按组和时间戳订购 Pandas DataFrame
- python - Win10更新后python Idle停止工作
- php - Laravel/php 三足 OAuth