簡體   English   中英

如何選擇“ user_id”列所在的所有表名?

[英]How to select all table names where a 'user_id' column is?

我想選擇其中一列名稱為user_id的所有表名稱。

在PostgreSQL中可以嗎?

嘗試這個:

select table_name
from information_schema.columns
where column_name = 'user_id'

應該可以。

確保包括架構名稱 沒有它,您的表名可能會模棱兩可。 甚至可能導致有害的混亂:

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

只有需要跨RDBMS的可移植性(很少需要且很少起作用)時,信息模式才是好的。 我寧願直接查詢目錄表。 更快更短:

SELECT attrelid::regclass
FROM   pg_attribute
WHERE  attname = 'user_id';

並確保您已連接到同一數據庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM