如何用sql 添加主键??
已经建好了一个表。某一列忘加主键了,如何用sql实现用altertable列altercolumn。。。。。不行。好像altertable列add。。。不可以添加设为主键...
已经建好了一个表。某一列忘加主键了,如何用sql实现
用
alter table 列
alter column 。。。。。
不行。
好像alter table 列
add 。。。
不可以添加设为主键的列,是吗??
求解 3q 展开
用
alter table 列
alter column 。。。。。
不行。
好像alter table 列
add 。。。
不可以添加设为主键的列,是吗??
求解 3q 展开
展开全部
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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建表:定义列之后独立指定主键:
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;
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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如你想给teacher表的t_id列设为主键
如果t_id列不存在,那就先输入类似下面的新建该列
alter table teacher add column t_id varchar(20)
如果t_id列存在,直接输入下面的就可以了
alter table teacher add primary key(t_id)
我在数据库里测试了,这样写就能给一个表设置主键,前提是那个表没有主键
如果t_id列不存在,那就先输入类似下面的新建该列
alter table teacher add column t_id varchar(20)
如果t_id列存在,直接输入下面的就可以了
alter table teacher add primary key(t_id)
我在数据库里测试了,这样写就能给一个表设置主键,前提是那个表没有主键
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例如表a1_2在id上加主键
ALTER TABLE [a1_2] ADD CONSTRAINT [PK_a1_2] PRIMARY KEY CLUSTERED
(
[id] ASC
)
ALTER TABLE [a1_2] ADD CONSTRAINT [PK_a1_2] PRIMARY KEY CLUSTERED
(
[id] ASC
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询