添加外键
alter table locstock add foreign key locstock_ibfk2 (stockid) references product(stockid)
locstock 为表名, locstock_ibfk2 为外键名 第一个括号里填写外键列名, product为表名,第二个括号里是写外键关联的列名
删除外键
alter table locstock drop foreign key locstock_ibfk2
查看表有哪些外键
show create table locstock
==============================================================
语法:
[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)
REFERENCES tbl_name (index_col_name, ...)
[ON DELETE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
[ON UPDATE {RESTRICT | CASCADE | SET NULL | NO ACTION}]
条件:
·
所有tables必须是InnoDB型
,它们不能是临时表。
·
在引用表中,必须有一个索引,外键列以同样的顺序被列在其中作为第一列。这样一个索引如果不存在,它必须在引用表里被自动创建。
·
在引用表中,必须有一个索引,被引用的列以同样的顺序被列在其中作为第一列。
·
不支持对外键列的索引前缀。这样的后果之一是BLOB和TEXT列不被包括在一个外键中,
这是因为对这些列的索引必须总是包含一个前缀长度。
·
如果CONSTRAINTsymbol
被给出,它在数据库里必须是唯一的。如果它没有被给出,InnoDB自动创建这个名字。
分享到:
相关推荐
以下将详细介绍四种在MySQL中添加外键的方法。 1. **建表时直接使用 FOREIGN KEY** 当创建新表时,可以直接在CREATE TABLE语句中定义外键。这种方法的语法如下: ```sql CREATE TABLE table_name ( column1 ...
如果表已经存在且之前没有定义外键,可以使用ALTER TABLE语句来添加外键,如下: ```sql ALTER TABLE 表名 ADD FOREIGN KEY(字段名) REFERENCES 外键表名(外键列名); ``` 在使用ALTER TABLE语句时,如果需要删除...
在 MySQL 中,添加外键可以使用ALTER TABLE语句,例如: ``` ALTER TABLE ss_accesscode ADD FOREIGN KEY (vccId) REFERENCES ss_vcc(vccId) ON DELETE CASCADE; ``` 这条语句将在ss_accesscode表中添加一个外键约束...
前言 这篇文章主要涉及到在数据创建表时,遇到ERROR 1215 (HY000): Cannot add foreign key constraint 问题方面的内容,对于在数据创建表时,遇到同样问题感兴趣的同学可以参考一下。 一、问题的提出 ...
MySQL 处理添加外键时提示 Error 150 问题的解决方法 MySQL 中添加外键时,可能会遇到 Error 150 的问题,这个问题是 MySQL 本身的 bug,已经被报告到 MySQL 开发者列表中很多年了。然而,导致这个错误的原因却并...
- 使用`ALTER TABLE`语句可以添加、修改或删除外键约束。 - 删除外键约束时,应先确保没有相关记录,以避免违反参照完整性。 6. **外键的优点** - 保证数据的一致性:外键约束确保了只有有效的主键值才能被引用...
为了保证数据的完整性,将两张表之间的数据建立关系,因此就需要在成绩表中添加外键约束。 外键的定义可以概括为:外键是指引用另外一个表中的一列或多列数据,被引用的列应该具有主键约束或者唯一性约束。外键用来...
建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键)。 外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 指定主键关键字: foreign key(列名) 引用外键关键字: references <外键...
- `yourtablename`:指需要添加外键约束的表名。 - `index_col_name`:指被定义为外键的列名。 - `tbl_name`:指定主表的名称。 - `ON DELETE` 和 `ON UPDATE`:定义当主表的记录被删除或更新时,从表中受影响的记录...
### 如何在MySQL数据库中定义外键 #### 定义数据表 假设某电脑生产商的数据库中包含了整机产品信息和配件供货信息。为了更好地管理这些信息,我们需要创建两个数据表:`pc` 表用于存储整机产品信息,而 `parts` 表...
二、添加外键的格式 添加外键的格式为: ALTER TABLE yourtablename ADD [CONSTRAINT 外键名] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {CASCADE | SET NULL...
在创建完两个表后,需要在“student”表中为`gid`字段添加外键约束,指向“grade”表的`id`字段。 ```sql ALTER TABLE student ADD CONSTRAINT FK_ID FOREIGN KEY (gid) REFERENCES grade (id); ``` 此命令...
添加外键约束时,你需要在`ALTER TABLE`语句中指定从表、外键名称、外键字段以及引用的主表和主键字段。假设我们要在`tfeedbackmessage`表中添加一个外键,引用`TOperationUser`表的`FID`字段,可以使用以下语句: ...
在已存在的表上添加主外键关系,可以使用`ALTER TABLE`语句: ```sql ALTER TABLE demo.ChinesePinyinInfo ADD CONSTRAINT FK_Name FOREIGN KEY (CharID) REFERENCES ChineseCharInfo(ID); ``` 若要删除主外键...
MySQL-如果你在添加外键时忘加约束名,如何找到系统默认的约束名
#### 三、添加外键的格式与约束类型 外键可以通过`ALTER TABLE`命令添加到现有表中,或者在创建表时直接定义。 - **基本语法**: ```sql ALTER TABLE your_table_name ADD [CONSTRAINT constraint_name] ...
### MySQL外键设置详解 #### 一、外键的基本概念 在关系型数据库设计中,外键(Foreign Key)是一种非常重要的约束机制,用于确保数据的一致性和完整性。通过定义外键,可以实现不同表之间的关联,从而确保引用的...