假设您想要获取表的所有列,但不包括名称中包含_images的列,而不必执行
mysql_query("SHOW COLUMNS FROM " . $table. " WHERE Field NOT IN ('project_images_1' .etc)")
这可能吗?
字段示例:
header
bodytext
project_images_1 (exclude)
project_images_2 (exclude)
答案 0 :(得分:0)
是的,这是可能的。我可以使用LIKE
运算符执行此操作:
SHOW COLUMNS FROM $table WHERE NOT Field LIKE '%_images%';
或者,如果您需要更多控制权,这可能会有所帮助:
$query = <<<SQL
SHOW COLUMNS FROM $table WHERE Field NOT IN (
SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = $table
AND column_name LIKE 'project_images_%'
);
SQL;
这可以通过在information schema tables内使用a so called subquery(也许就是你所寻找的)来实现。
相关: