CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
CONSTRAINT pk_dname PRIMARY KEY(dname)
);
CONSTRAINT 没影响到 select *语句,select*还是原来的名字
7 个解决方案
#1
约束加名字,也可以不加名字,如果不加名字,系统会用一个默认的名字来创建约束。
也就是说,不管你加不加名字,都是有一个约束的名字的,之后,你可以用这个约束的名字,来吧约束删除。
比如:
alter table xxx
drop constraint 约束名称
也就是说,不管你加不加名字,都是有一个约束的名字的,之后,你可以用这个约束的名字,来吧约束删除。
比如:
alter table xxx
drop constraint 约束名称
#2
这样创建表,这样删除,咋报错呢。
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
CONSTRAINT pk_dname_deptno PRIMARY KEY (deptno, dname)
);
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3TmpBME5GOHpNams1TlRRdWNHNW4%3D.jpg?w=700&webp=1)
#3
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3TmpFNE5GODNPVEEzTlRBdWNHNW4%3D.jpg?w=700&webp=1)
#4
把当中的分号去掉试试
#5
把当中的分号去掉试试
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3T0RVNE0xODRPRGc1TnpndWNHNW4%3D.jpg?w=700&webp=1)
#6
约束名称 是一个约束条件的名称,不是列的名称。
#7
把当中的分号去掉试试![]()
不好意思,刚才试了一下,mysql如果要删除这个主键约束,语法和其他数据库都不一样,的这样:
ALTER TABLE t_dept
DROP PRIMARY KEY
#1
约束加名字,也可以不加名字,如果不加名字,系统会用一个默认的名字来创建约束。
也就是说,不管你加不加名字,都是有一个约束的名字的,之后,你可以用这个约束的名字,来吧约束删除。
比如:
alter table xxx
drop constraint 约束名称
也就是说,不管你加不加名字,都是有一个约束的名字的,之后,你可以用这个约束的名字,来吧约束删除。
比如:
alter table xxx
drop constraint 约束名称
#2
alter table xxx
drop constraint 约束名称
这样创建表,这样删除,咋报错呢。
CREATE TABLE t_dept(
deptno INT,
dname VARCHAR(20),
loc VARCHAR(40),
CONSTRAINT pk_dname_deptno PRIMARY KEY (deptno, dname)
);
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3TmpBME5GOHpNams1TlRRdWNHNW4%3D.jpg?w=700&webp=1)
#3
alter table xxx
drop constraint 约束名称
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3TmpFNE5GODNPVEEzTlRBdWNHNW4%3D.jpg?w=700&webp=1)
#4
alter table xxx
drop constraint 约束名称![]()
把当中的分号去掉试试
#5
把当中的分号去掉试试
![给约束加名字是什么意思,有什么用 给约束加名字是什么意思,有什么用](https://image.shishitao.com:8440/aHR0cHM6Ly93d3cuaXRkYWFuLmNvbS9nby9hSFIwY0hNNkx5OXBiV2N0WW1KekxtTnpaRzR1Ym1WMEwzVndiRzloWkM4eU1ERTNNRE12TWpjdk1UUTVNRFl3T0RVNE0xODRPRGc1TnpndWNHNW4%3D.jpg?w=700&webp=1)
#6
约束名称 是一个约束条件的名称,不是列的名称。
#7
把当中的分号去掉试试![]()
不好意思,刚才试了一下,mysql如果要删除这个主键约束,语法和其他数据库都不一样,的这样:
ALTER TABLE t_dept
DROP PRIMARY KEY