Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL:information\u schema.columns bug?_Php_Mysql_Information Schema - Fatal编程技术网

Php MySQL:information\u schema.columns bug?

Php MySQL:information\u schema.columns bug?,php,mysql,information-schema,Php,Mysql,Information Schema,为什么information\u schema.columns总是重复结果?比如说, SELECT column_name FROM information_schema.columns WHERE table_name = 'root_blocks' 我会得到这个 column_name blc_id blc_email cat_id blc_created blc_updated blc_id blc_email cat_id blc_created blc_updated 当我试

为什么
information\u schema.columns
总是重复结果?比如说,

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = 'root_blocks'
我会得到这个

column_name

blc_id
blc_email
cat_id
blc_created
blc_updated
blc_id
blc_email
cat_id
blc_created
blc_updated
当我试图通过phpmyadmin进行查询时,其他表上的重复项变得不可预测

我怎样才能使它不重复

谢谢

编辑:

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = 'root_blocks'
AND `table_schema` = 'SCHEMA_NAME'

请试试这个

如果要从所有数据库中选择并获取唯一的列名,请尝试此操作

SELECT DISTINCT(column_name) 
    FROM information_schema.columns 
    WHERE table_name = 'root_blocks'
请试试这个

如果要从所有数据库中选择并获取唯一的列名,请尝试此操作

SELECT DISTINCT(column_name) 
    FROM information_schema.columns 
    WHERE table_name = 'root_blocks'

可能在多个模式中有相同的表

如果您运行:

SELECT table_schema, column_name 
FROM information_schema.columns 
WHERE table_name = 'root_blocks'

可能在多个模式中有相同的表

如果您运行:

SELECT table_schema, column_name 
FROM information_schema.columns 
WHERE table_name = 'root_blocks'


什么版本的MySQL服务器和客户端?MySQL客户端版本:mysqlnd 5.0.7。我在wamp服务器上…什么版本的MySQL服务器和客户端?MySQL客户端版本:mysqlnd 5.0.7。我在wamp服务器上…是的,我刚刚做了。但它现在返回零结果…:(您是否在“schema\u name”位置替换为您的架构名称?没有-我认为这就是它不起作用的原因。我如何知道我的架构名称?谢谢。如果不知道架构名称,请尝试此选择DISTINCT(列名称)从信息_schema.columns,其中table_name='root_blocks'@karthing:这是我的完整查询。刚刚意识到
table_schema
是我的数据库名!哈哈,但我仍然不知道为什么会出现此警告。请查看我上面的编辑。谢谢。是的。但现在它返回了零结果…:(您是否将“schema\u name”替换为您的架构名称?没有-我认为这就是它不起作用的原因。我如何知道我的架构名称?谢谢。如果不知道架构名称,请尝试此选择(列名称)从information_schema.columns WHERE table_name='root_blocks'@karthing:这是我的完整查询。刚刚意识到
table_schema
是我的数据库名!lol,但我仍然不知道为什么我会有这个警告。请查看我上面的编辑。谢谢。我想我还有其他数据库具有相同的表结构、名称等,这会导致d重复。那么我怎样才能只针对特定的数据库呢?谢谢。@lauthiamkok:您在schema列中看到不同的值了吗?数据库可能也会显示在table_catalog列中,但我不确定that@lauthiamkok:我刚刚检查:数据库名称显示在表_模式中,因此只需添加WHERE子句将其限制在中的数据库中即可问题。是的,谢谢。但是我得到了一个我不明白的警告…请看我上面的编辑。@lauthiamkok:不知道。我不知道你正在使用的SQL客户端。我想我还有其他数据库,它们具有相同的表结构、名称等,这会导致重复。那么我如何只针对特定的数据库呢?谢谢。@lauthiamkok:你知道吗模式列中是否有不同的值?数据库可能也会显示在table_catalog列中,但我不确定that@lauthiamkok:我刚刚检查:数据库名称显示在表_架构中,因此只需添加一个WHERE子句以将其限制在所讨论的数据库中。是的,收到了,谢谢。但是我收到了一个警告,我不理解它…请请看我上面的编辑。@lauthiamkok:不知道。我不知道您正在使用的SQL客户机