mysql中平方米显示不出来_MySQL - 添加外键
目录
整理了一下这个知识,虽然很简单哈,为了以后的方便。
为已经添加好的数据表添加外键
语法:
alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);
例:
alter table tb_active add constraint FK_ID foreign key(user_id) REFERENCES tb_user(id)
//FK_ID是外键的名称
/*
CREATE TABLE `tb_active` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`content` text CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `user_id_2` (`user_id`),
CONSTRAINT `FK_ID` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
*/
删除外键
语法:
ALTER TABLE table-name DROP FOREIGN KEY key-id;
例:
ALTER TABLE `tb_active` DROP FOREIGN KEY `FK_ID`
自动键更新和删除:
外键可以保证新插入的记录的完整性,但是,如果在REFERENCES从句中已命名的表删除记录会怎么样?在使用同样的值作为外键的辅助表中会发生什么?
很明显,那些记录也应该被删除,否则在数据库中就会有很多无意义的孤立记录,MYSQL可以通过向FOREIGN KEY...REFERENCES修饰符添加一个ON DELETE 或ON UPDATE子句简化任务,它告诉了数据库在这种情况如何处理孤立任务
关键字
含义
CASCADE
删除包含与已删除键值有参照关系的所有记录
SET NULL
修改包含与已删除键值有参照关系的所有记录,使用NULL值替换(只能用于已标记为NOT NULL的字段)
RESTRICT
拒绝删除要求,直到使用删除键值的辅助表被手工删除,并且没有参照时(这是默认设置,也是最安全的设置)
NO ACTION
啥也不做
请注意,通过ON UPDATE 和 ON DELETE规则,设置MYSQL能够实现自动操作时,如果键的关系没有设置好,可能会导致严重的数据破坏。
例如:如果一系列的表通过外键关系和ON DELETE CASCADE 规则连接时,任意一个主表的变化都会导致甚至只和原始删除有一些将要联系的记录在没有警告的情况被删除,所以,我们在操作之前还要检查这些规则的,操作之后还要再次检查。
添加外键
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
如有错误,请多多指教。
mysql中平方米显示不出来_MySQL - 添加外键相关推荐
- mysql中平方米显示不出来_MYSQL 创建常见问题
1.创建函数时,报错: 出错信息: ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL ...
- mysql中怎样插入外键_MySQL 添加外键
MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...
- mysql实用管理器添加外键_MySQL 添加外键
MySQL 添加外键 MySQL 添加外键 DROP TABLE IF EXISTS `nation`; CREATE TABLE `nation`( `pii_Nation` smallint(2) ...
- mysql 增加外键_Mysql 添加外键
语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名); 例: alter ta ...
- mysql 外键冲突_mysql添加外键错误是什么原因
mysql添加外键错误的原因:1.外键的字段与关联字段的类型不匹配:2.外键名重复:3.外键没有建立索引:4.外键存在默认值:5.语法错误. 原因分析: 第一种情况:外键的字段与关联的字段的类型不匹配 ...
- mysql 外键报错_MySQL添加外键、删除外键方式,MySQL删除外键报错快速解决方案...
外键的作用主要在于对各类表单进行约束,避免出现冗余数据及超出数据.那么,MySQL如何添加与删除外键?添加删除外键时报错是什么原因? 本文将从创建MySQL表单时添加外键.给已存在表单添加外键.删除外 ...
- mysql给一个表添加外键约束_Mysql添加外键约束
简单说一下使用外键的好处 1.完整性约束 比如: 用户表中有字段 用户编号(id) , 名称(username) 设备表中有字段 设备编号(id) , 设备名称(devicename) 设备属于的用户 ...
- mysql 增加外键_mysql添加外键的4种方式
今天开始复习,在过后的几天里开始在博客上记录一下平时疏忽的知识点,温故而知新 屁话不多--直接上货 创建主表: 班级 CREATE TABLE class(cid INT PRIMARY KEY AU ...
- mysql添加外键出现1452错误_MySQL添加外键失败ERROR 1452的解决
今天在学习数据库添加外键的时候,遇到了问题 我先创建了两个表 orders 和 order_items ,存储引擎都是InnoDB, 且都有orderid这个属性(类型完全一样), 但是我使用命令 ...
最新文章
- JavaScript对象中的构造方法
- java keytool 代码_JDK keytool证书工具功能代码解析_java_脚本之家
- python快速编程入门课本中的名片管理器_python实现名片管理器的示例代码
- 产品经理应该掌握的信息架构知识
- 深入理解web.xml中配置/和/*的区别
- self = [super init]的解释
- 追随你心 —— 聊聊VMCloud
- 模式识别(3)-SVM分类算法
- 离线安装IE11浏览器
- CTF Crypto 入门练习
- 下载知乎视频并在线播放
- 企业固定资产管理存在的问题及改进建议
- 昆明钉钉智慧校园K12解决方案,校园安全、健康、生活、办公、网络整体解决方案
- 详解 http-server的安装和使用
- 线性代数--线性方程组
- 【愚公系列】2023年02月 WMS智能仓储系统-010.全局过滤、中间件、格式化配置
- ISO/IEC14443
- 【微信授权登录】uniapp开发小程序,实现获取微信授权登录功能
- IPsec IKE第一阶段主模式和野蛮模式
- 一点心得,觉知此事须躬行