mysql外键怎么写 mysql数据库外键语句

MySql如何创建外键create
table
volunteer(
志愿者编号
varchar(6)
not
null,
志愿者姓名
varchar(8),
班级编号
varchar(4),
constraint
PK_V
primary
key
(志愿者编号));
create
table
class(
班级编号
varchar(4),
班级名称
varchar(20),
学院
varchar(20),
constraint
PK_C
primary
key(班级编号),
班级编号
varchar
foreign
key
references
volunteer(班级编号));
你这个试下,我试了可以的
希望可以帮到你
SQL
创建外键语句的方法:constraint
外键名字
foreign
key
references
外键表(外键字段)
mysql在建表的时候定义外键的语句怎么写?就像B表里面的id是A表的主键这句话建表的时候怎么写ALTER TABLE B
ADD CONSTRAINT fk_B_A
FOREIGN KEY (ordersId)
REFERENCESorderts(ordersId);
如果你还不是很明白的话, 下面是详细的例子:
-- 创建测试主表. ID 是主键.
CREATE TABLE test_main (
idINTNOT NULL,
valueVARCHAR(10),
PRIMARY KEY(id)
);
-- 创建测试子表.
CREATE TABLE test_sub (
idINTNOT NULL,
main_id INT ,
valueVARCHAR(10),
PRIMARY KEY(id)
);
-- 插入测试主表数据.
INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
-- 插入测试子表数据.
INSERT INTO test_sub(id, main_id, value) VALUES (1, 1, 'ONEONE');
INSERT INTO test_sub(id, main_id, value) VALUES (2, 2, 'TWOTWO');
注意,MySQL 建立表的时候,需要确认引擎,是否是 InnoDB。
Innodb存储引擎支持FOREIGN KEY和REFERENCES子句 。
Innodb存储引擎执行ADD [CONSTRAINT [symbol]] FOREIGN KEY (...) REFERENCES ... (...) 。请参见15.2.6.4节 , “FOREIGN KEY约束” 。
对于其它存储引擎,这些子句会被分析,但是会被忽略 。
注意 , MySQL 外键 , 必须指定 主表的列名称
mysql ALTER TABLE test_sub
-ADD CONSTRAINT main_id_cons
-FOREIGN KEY (main_id)
-REFERENCEStest_main(id);
- //
Query OK, 2 rows affected (0.17 sec)
Records: 2Duplicates: 0Warnings: 0
mysql DELETE FROM
-test_main
- WHERE
-id = 1;
- //
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constrai
nt fails (`test`.`test_sub`, CONSTRAINT `main_id_cons` FOREIGN KEY (`main_id`) R
EFERENCES `test_main` (`id`))
mysql外键约束怎么写你好朋友
1.简介
外键表示一个表中的一个字段被另外一个表中的字段应用.外键对相关表中的数据造成了限制,使MySQL 能够保证参照完整性.
【mysql外键怎么写 mysql数据库外键语句】在MySQL 中,InnoDB 存储引擎支持外键.在一张表中,可以存在多个外键.
外键的创建可以在创建表的时候创建,也可以在创建表之后增加(考虑数据的完整性问题).
父表:外键所指向的表.
字表:相对于父表,拥有外键的表.
2.语法
create 语法
create table table_name(
column_1,
column_2,
....
constraint constraint_name foreign key (column_name)
references parent_table(column_name)
on delete action
on update action
) engine=InnoDB default charset utf8;
constraint 子句允许为外键定义一个名称,如果不写,MySQL 自动生成一个名称
foreign key 子句指定子表中要应用父表的列.注意:MySQL 会自动创建一个基于外键的索引.
references 子句指定父表中的被引用字段.foreign key 和references 指定的列数必须相同.
on delete: 定义当父表中的记录被删除时,子表的记录应该执行的动作.action包括:

推荐阅读