在MySQL中选择不包含特定列的表
我正在尝试选择所有没有名为“unique”的列的表。我可以使用以下方法选择所有包含该列的表:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'unique'
AND TABLE_SCHEMA ='database';
是否有一种简单的方法来修改 SELECT 语句,以便列出所有没有该列的表?这看起来很简单,但我无法弄清楚,并且在论坛上找不到答案。
谢谢
I am trying to select all tables that do not have column named 'unique'. I can select all tables that have it using:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'unique'
AND TABLE_SCHEMA ='database';
Is there a simple way to modify the SELECT statement so it lists all tables that do not have that column? This seems like it would be simple, but I can't figure it out, and can't find an answer on the forum.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果服务器中仅存在一个数据库,则上述查询有效。如果没有,其他数据库中的表也会列出。考虑这个从特定数据库中选取表的简化版本。总而言之,这是一个很大的亮点!
The above queries work, if only one database exists in the server. If not, tables from other databases will also be listed. Consider this simplified version that picks tables from a particular DB. All in all, this is a great highlight!
一个简单的反转:
A simple inversion: