0

假设您想要获取表的所有列,但排除名称中包含例如 _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)
4

1 回答 1

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;

这通过在所谓的 subquery中使用信息模式表(也许这就是您要查找的内容)来工作。

有关的:

于 2012-06-28T18:06:50.987 回答