navicat和mysql语句一样吗_使用Navicat多对多关系SQL语句在MySQL中实现

/**

*@author blovedr

*功能:模拟两张表关系及添加两个主键和外键详细过程

*日期: 2018年7月26日   18:45

*注释: 学习数据库MySQL的点点记录, 谢谢网上各位大神分享经验与资料, 欢迎各位大神批评指导与交流。

*/

在Navicat 新建一个数据库cc, 在cc新建“查询中”输入下列sql语句:

第一张表---班级表 (ok)

create table banji

(

banji_id int primary key,

banji_num int not null,

banji_name nvarchar(150)

)

第二张表---教师表(ok)

create table jiaoshi

(

jiaoshi_id int primary key,

jiaoshi_name nvarchar(150)

)

第三张表---用来模拟班级和教师的关系1  mapping---映射   ---(ok,此时没有外键)

create table banji_jiaoshi_mapping

(

banji_id int,

jiaoshi_id int,

kecheng nvarchar(60),

constraint pk_banji_id_jiaoshi_id primary key (banji_id,  jiaoshi_id)

)

drop table banji_jiaoshi_mapping;

第三张表---用来模拟班级和教师的关系2   mapping---映射  ---(error,此时sql语句使用Navicat在MySQL运行报错)

create table banji_jiaoshi_mapping2

(

banji_id int constraint fk_banji_id foreign key references banji (banji_id),

jiaoshi_id int foreign key references jiaoshi (jiaoshi_id),

kecheng nvarchar(60),

constraint pk_banji_id_jiaoshi_id primary key (banji_id,  jiaoshi_id)

)

第三张表---用来模拟班级和教师的关系3   mapping---映射  ---(ok,此时有两个主键和外键)

create table banji_jiaoshi_mapping3

(

banji_id int,

jiaoshi_id int,

constraint fk_banji_id foreign key (banji_id) references banji (banji_id),

constraint fk_jiaoshi_id foreign key (jiaoshi_id) references jiaoshi (jiaoshi_id),

kecheng nvarchar(60),

constraint pk_banji_id_jiaoshi_id primary key (banji_id,  jiaoshi_id, kecheng)

)

---删除表banji_jiaoshi_mapping3的sql语句

drop table banji_jiaoshi_mapping3;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值