就像标题所说,如果我有一张桌子,就像这样创建:
CREATE TABLE "MyTable" (
"ID" INTEGER PRIMARY KEY NOT NULL,
"OtherTable1ID" INTEGER NOT NULL CONSTRAINT 'OtherTable1ID' REFERENCES 'OtherTable1' ('ID'),
"OtherTable2ID" INTEGER NOT NULL CONSTRAINT 'OtherTable2ID' REFERENCES 'OtherTable2' ('ID'),
"Repetition" INTEGER
)
我正在寻找一个查询,它返回列名OtherTable1ID
and OtherTable2ID
。
我自己的方法是查询表的create语句并查找REFERENCES
关键字(使用Regex),但我希望有一个更简单的解决方案?
第二种方法是获取表中的所有列名,并查看它们是否在名称中包含“ID”。这主要起作用,因为在这种情况下数据库都遵循这个命名约定,但是如果一个表包含一个名称包含'ID'但不引用任何内容的列呢?因此,我需要一个通用的解决方案。