我想知道如何在pgAdmin中指定主键和外键,能否有人给我解释一下?
我在网上找不到任何信息。
例如,我有一个学生表格,包含他们的所有详细信息(地址、出生日期等)。我将添加一个名为“student_number”的列,并将其设置为主键。
我只是想知道如何在pgAdmin中执行此操作?如果您能够友好地解释一下如何在postgreSQL(和pgAdmin)中使用主键和外键,那就更好了。
我想知道如何在pgAdmin中指定主键和外键,能否有人给我解释一下?
我在网上找不到任何信息。
例如,我有一个学生表格,包含他们的所有详细信息(地址、出生日期等)。我将添加一个名为“student_number”的列,并将其设置为主键。
我只是想知道如何在pgAdmin中执行此操作?如果您能够友好地解释一下如何在postgreSQL(和pgAdmin)中使用主键和外键,那就更好了。
是的,在pgAdmin中添加主键和外键有一种方法。
在Windows 7上测试过的pgAdmin III Ver.1.16.1
这样就完成了。
如果您愿意,您还可以填写更多内容,但现在您已经知道如何操作了。
在pgAdmin中,没有选项可以同时向现有表添加列并将其设置为主键,因为这几乎不可能。
主键列需要保存唯一的非空值。当向现有表添加列时,它保存NULL值。因此,在添加UNIQUE
或PRIMARY KEY
约束之前,您必须输入唯一值。
然而,有一个例外:如果您添加了serial
列,则会自动插入唯一值。在这种情况下,您也可以立即定义它为PRIMARY KEY:
ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;
serial
列的特殊情况。在Pgadmin3中,
转到您想要添加PK或FK的表,右键单击并选择属性。
转到约束选项卡。
在“添加”按钮旁边的下拉列表中选择主键或外键。
然后点击添加按钮。
转到列选项卡。
在下拉列表中选择要添加的列名。
点击添加按钮。
点击确定按钮。
希望对您有所帮助!
SELECT
tc.constraint_name, tc.table_name, kcu.column_name,
ccu.table_name AS foreign_table_name,
ccu.column_name AS foreign_column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = tc.constraint_name
WHERE constraint_type = 'PRIMARY KEY' AND tc.table_name='table_name';
pgAdmin 4.29不允许您在与表创建相同的对话框中创建外键。要创建外键,请先创建表,然后在资源管理器中展开表、列和外键节点。选择“创建”。