[英]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.