Php 如何查询数据库列名?
我有一个表,它有多个列,以一个关键字Php 如何查询数据库列名?,php,mysql,regex,Php,Mysql,Regex,我有一个表,它有多个列,以一个关键字link\uu开头。即link\u0\u10,link\u10\u20,link\u20\u30等等 我只想选择以这些链接关键字开头的列。怎么做?我可以通过正则表达式查询值,但查询列?我没能做到 p.S.:我事先不知道会出现多少列。选择* 从信息_schema.columns 其中,table_name='mytable'和column_name(如'link_%' 只需更改数据库名和表名,然后运行此查询 SELECT `COLUMN_NAME` FROM
link\uu
开头。即link\u0\u10
,link\u10\u20
,link\u20\u30
等等
我只想选择以这些链接
关键字开头的列。怎么做?我可以通过正则表达式查询值,但查询列?我没能做到
p.S.:我事先不知道会出现多少列。选择*
从信息_schema.columns
其中,table_name='mytable'和column_name(如'link_%'
只需更改数据库名和表名,然后运行此查询
SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_SCHEMA`='database_name'
AND `TABLE_NAME`='table_name' and COLUMN_NAME like 'link_%'
这是一个非常糟糕的数据库设计,应该加以修复。您需要的是动态SQL,这比常规查询更复杂。基本上,您的问题表明存在设计问题。您应该将每一列存储在一个单独的行上,并使用一个存储值的列(link_0_10,link_10_20,…)虽然此代码可能会解决此问题,但一个好的答案还应该解释代码的作用以及它的帮助方式。