协助解释MySQL指令:“参考资料”;为了避免在尝试删除外键时出现此错误,请使用约束名称而不是…“;
这是引自。老实说,我不确定约束名称是什么。有人能给出一个使用约束而不是列名的示例吗?可以在创建表时使用CREATE table语句指定外键,或者稍后使用ALTER table语句指定外键协助解释MySQL指令:“参考资料”;为了避免在尝试删除外键时出现此错误,请使用约束名称而不是…“;,mysql,sql,Mysql,Sql,这是引自。老实说,我不确定约束名称是什么。有人能给出一个使用约束而不是列名的示例吗?可以在创建表时使用CREATE table语句指定外键,或者稍后使用ALTER table语句指定外键 请参见下面这些命令的简化语法: 创建表格: 更改表格: 可更改的tbl_名称 CREATE TABLE tbl_name( ..... [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...) reference_
请参见下面这些命令的简化语法:
创建表格: 更改表格: 可更改的tbl_名称
CREATE TABLE tbl_name(
.....
[CONSTRAINT [symbol]] FOREIGN KEY
[index_name] (index_col_name,...) reference_definition
.....
)
在这两种语法中都有可选的CONSTRAINT[symbol]
子句。此子句用于为约束指定显式名称。在SQL中,外键是一个约束。
必须使用以下语法才能删除外键:
删除外键: 其中,
fk_符号
是创建表或更改表添加命令中使用的约束的必需名称。如果没有明确指定约束的名称,MySql将为约束生成自己的内部名称。
您可以通过查询
信息\u架构表\u约束检查约束的名称
视图。
例如:
ALTER TABLE table_name
DROP FOREIGN KEY fk_symbol
在上面的示例中,我没有明确给外键约束指定名称,MySql为这个外键指定了一个名称
我可以使用此名称从表中删除(删除)外键:
create table aaa(
x int primary key
);
create table bbb(
y int,
constraint foreign key(y) references aaa(x)
);
select table_name, constraint_name, constraint_type
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE Table_name = 'bbb'
;
+ --------------- + -------------------- + -------------------- +
| table_name | constraint_name | constraint_type |
+ --------------- + -------------------- + -------------------- +
| bbb | bbb_ibfk_1 | FOREIGN KEY |
+ --------------- + -------------------- + -------------------- +
1 rows
ALTER TABLE table_name
DROP FOREIGN KEY fk_symbol
create table aaa(
x int primary key
);
create table bbb(
y int,
constraint foreign key(y) references aaa(x)
);
select table_name, constraint_name, constraint_type
from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
WHERE Table_name = 'bbb'
;
+ --------------- + -------------------- + -------------------- +
| table_name | constraint_name | constraint_type |
+ --------------- + -------------------- + -------------------- +
| bbb | bbb_ibfk_1 | FOREIGN KEY |
+ --------------- + -------------------- + -------------------- +
1 rows
ALTER TABLE bbb
DROP FOREIGN KEY bbb_ibfk_1 ;