我想选择表名包含另一个字段名
的所有表喜欢
Show Tables Like '%' + table.table_name_prefex
但这会给我一个错误。
[Err] 1064 - You have an error in your SQL syntax; check the
手册,对应右侧的MySQL服务器版本 在第1行的'+ table.table_name_prfex'附近使用的语法
答案 0 :(得分:1)
你不能像你想要的那样做
你可以做点什么SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
WHERE
table_schema = 'mydb' AND
table_name LIKE '%mypartname%';
根据评论更新:
SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_schema = 'mydb' AND
COLUMN_NAME LIKE '%mypartname%';
答案 1 :(得分:1)
有点暗示一个非常聪明或非常愚蠢的架构。
你不能用'SHOW'来做 - 因为Haim Evgi(POST删除)说你需要使用信息模式。
我想选择所有那些从另一个db
中的字段开始的表
所以只需加入......
SELECT t.table_schema
, t.table_name
FROM INFORMATION_SCHEMA.TABLES t
, otherdb.table o
WHERE t.table_name LIKE CONCAT('%',o.table_name_prefex)
AND .... /* filters to select rows from otherdb.table */
如果您的表格真的被称为表格,那么您需要将其括在后面的引号中。