SELECT
GROUP_CONCAT( column_name SEPARATOR ',' )
FROM
information_schema.COLUMNS
WHERE
column_name <> '你不想要的字段名'
AND table_name = '表名'
GROUP BY
table_name;
现一个表中有很多字段,但我不想要其中某一个字段,手打出来字段太多,不方便。
使用上面的SQL就可以了。
最近看TP5的文档,发现有字段排除的功能
字段排除
如果我希望获取排除数据表中的content字段(文本字段的值非常耗内存)之外的所有字段值,我们就可以使用field方法的排除功能,例如下面的方式就可以实现所说的功能:
Db::table('think_user')->field('content',true)->select();
则表示获取除了content之外的所有字段,要排除更多的字段也可以:
Db::table('think_user')->field('user_id,content',true)->select();
//或者用
Db::table('think_user')->field(['user_id','content'],true)->select();
注意的是 字段排除功能不支持跨表和join操作。