繁体   English   中英

所有表中的检查ID都具有前缀table_

[英]check id in all tables have the prefix table_

大家好,我在sql中遇到问题,我想检查所有表中的ID是否都带有前缀“ table_”,但我使用了此查询,但不起作用。

SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'table_%'

在下划线之前添加反斜杠。

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME LIKE  'table\_%'

没有反斜杠
在此处输入图片说明

带反斜杠
在此处输入图片说明

原因如下:

SQL模式匹配使您可以使用“ _”来匹配任何单个字符,并使用“%”来匹配任意数量的字符(包括零个字符)。

我正在使用此查询来获取具有特定列的所有表:

SELECT * FROM INFORMATION_SCHEMA.columns where TABLE_NAME IN (
    SELECT TABLE_NAME
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME LIKE  'table_%' and TABLE_SCHEMA='<your_db_name>'
)
AND COLUMN_NAME='id'

不确定这是否是您想要的,因为问题有点模糊

PS:运行MariaDB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM