表和字段
#define TABLE_HOUSE "house_players"
#define FIELD_HOUSE_ID "house_id"
#define FIELD_HOUSE_INTERIOR "house_interiorID"
#define FIELD_HOUSE_OWNERID "house_ownerID"
#define FIELD_HOUSE_DESCRIPTION "house_description"
#define FIELD_HOUSE_PRICE "house_price"
#define FIELD_HOUSE_CASH_STORED "house_cashStored"
#define FIELD_HOUSE_ENT_X "house_entX"
#define FIELD_HOUSE_ENT_Y "house_entY"
#define FIELD_HOUSE_ENT_Z "house_entZ"
#define FIELD_HOUSE_ENT_A "house_entA"
#define FIELD_HOUSE_VWID "house_vwID"
#define TABLE_HOUSEINT "house_interiors"
#define FIELD_HOUSE_LEVEL "house_intLevel"
#define FIELD_HOUSE_INFO "house_intInfo"
#define FIELD_HOUSE_EXT_X "house_intX"
#define FIELD_HOUSE_EXT_Y "house_intY"
#define FIELD_HOUSE_EXT_Z "house_intZ"
#define FIELD_HOUSE_EXT_A "house_intA"
#define FIELD_HOUSE_INTID "house_intID"
查询
SELECT *, IFNULL(h."FIELD_HOUSE_OWNERID", -1) AS ownerid
FROM "TABLE_HOUSE" AS h INNER JOIN "TABLE_HOUSEINT" AS hi
ON h."FIELD_HOUSE_INTERIOR" = hi."FIELD_HOUSE_LEVEL"
这是我当前的查询
我的问题是,我在许多文章中看到,使用 SELECT * 是不好的编码实践,因为它可能会引入许多攻击途径。所以我想知道在不使用 SELECT * 的情况下从多个字段获取所有数据的最快方法是什么 - 我知道我可以一一选择每个字段,但这很长!想知道是否还有其他解决方案。
谢谢! 帕特里克
最佳答案
如果您的问题是手动输入所有列,您可以使用
SELECT
CONCAT(COLUMN_NAME,",")
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = "TABLE_HOUSE"
然后将结果复制到剪贴板。
当您真正指的是 SELECT *
时,请使用 SELECT *
,但在 View 中避免使用。
关于mysql - 在 MySQL 中选择多个字段的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47371867/