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);

最新文章

  1. iframe和frameset的使用
  2. JsRender for index 循环索引使用说明
  3. VS调试Ajax
  4. Android Fragment的介绍与使用(案例Demo)
  5. 定制化WinPE
  6. 剑指offer--矩阵中的路径
  7. 分享PowerDesigner使用的设置
  8. html中div标签怎么用?
  9. python3.6.5 + selenium +VS Code 运行报错:Unable to find a matching set of capabilities的解决
  10. javascript 模拟京东关闭广告栏
  11. python 多进程和多线程的区别
  12. Spring之AOP注解配置
  13. mysql字段集合中如何去除其中一个元素
  14. var_dump出现省略号的问题
  15. tomcat应用org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]异常的根本原因
  16. $.ajax 在请求没有完成,是可以往下继续执行js代码的
  17. UOJ275 组合数问题
  18. 【BZOJ】【2878】【NOI2012】迷失游乐园
  19. linux shell脚本编程笔记(三): 三种引号的区别
  20. C# SM加密

热门文章

  1. git如何忽略文件或者文件夹
  2. c3p0-config.xml模板详解
  3. java web项目防止多用户重复登录解决方案
  4. Linux 之 Redis
  5. Delphi GDI对象之绘制位图
  6. AC日记——网络最大流 洛谷 P3376
  7. PyTorch学习笔记之Tensors 2
  8. Java中String/StringBuffer/StringBuilder区别(转)
  9. SqlServer 并发事务:死锁跟踪(三)6种跟踪死锁的方法总结 大神
  10. javascript --- 对象之间的继承