ALTER TABLE student ADD COLUMN student_number serial PRIMARY KEY;
这适用于PostgreSQL 9.1 . 我不确定它在旧版本中也是如此 .
pgAdmin目前在"New column..."对话框中没有为 serial 列包含此特殊情况(版本1.14) .
102
是的,有一种方法可以在pgAdmin中添加主键和外键 .
在pgAdmin III Ver.1.16.1中测试(Windows 7)
选择所需的表格
Ctrl Alt输入或右键单击/属性
选择"Constraints"标签
在表单的左下方,您将看到选项"Primary Key"
单击“添加”
选择"Columns"标签
选择所需的列作为键
单击“添加”
你们都准备好了 .
如果你愿意,你可以填写更多的东西,但现在你知道如何到达那里 .
0
以下SQL将起作用
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';
4 回答
pgAdmin中没有选项可以将列添加到现有表并同时将其作为主键,因为这几乎不可能 .
主键列需要包含唯一的非空值 . 将列添加到现有表后,它将保留NULL值 . 因此,您必须先输入唯一值,然后才能添加
UNIQUE
或PRIMARY KEY
约束 .但是,该规则有 exception :如果添加serial列,则会自动插入唯一值 . 在这种情况下,您还可以立即定义PRIMARY KEY:
这适用于PostgreSQL 9.1 . 我不确定它在旧版本中也是如此 .
pgAdmin目前在"New column..."对话框中没有为
serial
列包含此特殊情况(版本1.14) .是的,有一种方法可以在pgAdmin中添加主键和外键 .
在pgAdmin III Ver.1.16.1中测试(Windows 7)
选择所需的表格
Ctrl Alt输入或右键单击/属性
选择"Constraints"标签
在表单的左下方,您将看到选项"Primary Key"
单击“添加”
选择"Columns"标签
选择所需的列作为键
单击“添加”
你们都准备好了 .
如果你愿意,你可以填写更多的东西,但现在你知道如何到达那里 .
以下SQL将起作用
在Pgadmin3中,
转到要添加PK或FK的表,然后右键单击并选择属性 .
转到约束选项卡 .
在“添加”按钮旁边的下拉列表中选择“主键”或“外键” .
然后点击添加按钮 .
转到列标签 .
在下拉列表中选择要添加的列名称 .
单击“添加”按钮 .
单击“确定”按钮 .
希望它对你有所帮助!