MySQL 建立外键约束
2024-08-22 21:11:28
http://www.jzxue.com/shujuku/mysql/201109/06-8742.html MySQL 建立外键约束的语法太晦涩难懂了, 不得不记下笔记.
1. 在建表时建立外键
CREATE TABLE table_s (
`id` int(11) NOT NULL AUTO_INCREMENT,
`column_name_from` int(11) NOT NULL,
`name` varchar(256) NOT NULL,
PRIMARY KEY (`id`),
INDEX k_name (`column_name_from`),
CONSTRAINT fk_name FOREIGN KEY(column_name_from) REFERENCES other_table_name(column_name_to) ON UPDATE CASCADE
) engine=innodb;
2. 对已有的表增加外键
alter table table_name add constraint fk_name foreign key (column_name_from) references other_table_name(column_name_to) on update cascade;
外键是”fk_name”, 如果 column_name_to 没有索引, 则会建立一个名为”fk_name”的索引;
3. 删除外键
先删除外键, 再删除索引.
alter table table_name drop foreign key fk_name;
alter table table_name drop key fk_name;
如果在删除外键之前删除索引, 会提示 #1025 – Error on rename of ‘./abc/#sql-fa9_2a9a1′ to ‘./abc/table_name’ (errno: 150)
4. 查看外键的名字
show create table table_name;
5. 建立索引
create index index_name on table_name (column_name);
或
alter table table_name add index index_name (column_name);
最新文章
- iframe和frameset的使用
- JsRender for index 循环索引使用说明
- VS调试Ajax
- Android Fragment的介绍与使用(案例Demo)
- 定制化WinPE
- 剑指offer--矩阵中的路径
- 分享PowerDesigner使用的设置
- html中div标签怎么用?
- python3.6.5 + selenium +VS Code 运行报错:Unable to find a matching set of capabilities的解决
- javascript 模拟京东关闭广告栏
- python 多进程和多线程的区别
- Spring之AOP注解配置
- mysql字段集合中如何去除其中一个元素
- var_dump出现省略号的问题
- tomcat应用org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]异常的根本原因
- $.ajax 在请求没有完成,是可以往下继续执行js代码的
- UOJ275 组合数问题
- 【BZOJ】【2878】【NOI2012】迷失游乐园
- linux shell脚本编程笔记(三): 三种引号的区别
- C# SM加密