如何用sql 添加主键??

已经建好了一个表。某一列忘加主键了,如何用sql实现

alter table 列
alter column 。。。。。
不行。
好像alter table 列
add 。。。
不可以添加设为主键的列,是吗??
求解 3q

操作步骤如下:

1、首先我们在这个StudentNo列上用你的鼠标右击,然后选择里面的修改,进行点击,弹出

界面。 

2、接着会有如下图中所示的窗口内容,这里选择里面的StudentNo,然后右击选择设置主键。

3、设置完毕之后,选择ctrl + S 保存。

4、保存完毕之后,再查看设置的主键时候,没有显示设置成功,这里需要在表上右击,选择刷

新。

5、刷新之后,就可以看到你设置的主键了,在主键列表中也可以看到已将设置成功。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-23
Oracle:
SQL> CREATE TABLE test_tab (
2 id INT,
3 name VARCHAR(10),
4 age INT,
5 val VARCHAR(10)
6 );

Table created.

SQL> ALTER TABLE test_tab
2 ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);

Table altered.

SQL Server 麻烦一点
1> CREATE TABLE test_tab (
2> id INT,
3> name VARCHAR(10),
4> age INT,
5> val VARCHAR(10)
6> );
7> go
1> ALTER TABLE test_tab
2> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);
3> go
消息 8111,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
无法在表 'test_tab' 中可为空的列上定义 PRIMARY KEY 约束。
消息 1750,级别 16,状态 1,服务器 HOME-BED592453C\SQLEXPRESS,第 1 行
无法创建约束。请参阅前面的错误消息。

首先对 id 这个列,增加一个 NOT NULL 约束,然后再设置为主键。

1> ALTER TABLE test_tab
2> ALTER COLUMN id INT NOT NULL;
3> go

1> ALTER TABLE test_tab
2> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);
3> go

MySQL
mysql> CREATE TABLE test_tab (
-> id INT,
-> name VARCHAR(10),
-> age INT,
-> val VARCHAR(10)
-> );
-> //
Query OK, 0 rows affected (0.08 sec)

mysql> ALTER TABLE test_tab
-> ADD CONSTRAINT pk_test_tab PRIMARY KEY(id);
-> //
Query OK, 0 rows affected (0.14 sec)
Records: 0 Duplicates: 0 Warnings: 0本回答被提问者采纳
第2个回答  2019-03-21
创建表:定义列之后独立指定主键:
CREATE TABLE stu(
sid CHAR(6),
sname VARCHAR(20),
age INT,
gender VARCHAR(10),
PRIMARY KEY(sid)
);
修改表时指定主键:
ALTER TABLE stu
ADD PRIMARY KEY(sid);
删除主键(只是删除主键约束,而不会删除主键列):
ALTER TABLE stu DROP PRIMARY KEY;
第3个回答  2010-11-07
比如你想给teacher表的t_id列设为主键
如果t_id列不存在,那就先输入类似下面的新建该列
alter table teacher add column t_id varchar(20)
如果t_id列存在,直接输入下面的就可以了
alter table teacher add primary key(t_id)

我在数据库里测试了,这样写就能给一个表设置主键,前提是那个表没有主键
第4个回答  2010-11-07
例如表a1_2在id上加主键
ALTER TABLE [a1_2] ADD CONSTRAINT [PK_a1_2] PRIMARY KEY CLUSTERED
(
[id] ASC
)
相似回答