Mysql外键用法是Mysql数据库中的基础知识,下面就为您详细将介绍Mysql外键用法,如果您对此方面有兴趣的话,不妨一看。
创新互联成立与2013年,先为湘潭县等服务建站,湘潭县等地企业,进行企业商务咨询服务。为湘潭县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
昨晚用Mysql建外键约束,始终没有成功,今天找到这个,原来只有InnoDB类型的表才可以使用Mysql外键.
只有InnoDB类型的表才可以使用外键
- CREATE TABLE person (
- id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
- name CHAR(60) NOT NULL,
- PRIMARY KEY (id)
- )type=innoDB;
- CREATE TABLE shirt (
- id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
- style ENUM('t-shirt', 'polo', 'dress') NOT NULL,
- color ENUM('red', 'blue', 'orange', 'white', 'black') NOT NULL,
- owner SMALLINT UNSIGNED NOT NULL,
- FOREIGN KEY (owner) REFERENCES PERSON(id)
- ON DELETE CASCADE
- ON UPDATE CASCADE,
- PRIMARY KEY (id)
- )type=innoDB;
然后打开MySQL Administrator终于看到 FOREIGN KEY有东西了,尝试手工删除后再用MySQL Administrator建立,成功。
- INSERT INTO person VALUES (NULL, 'Antonio Paz');
- SELECT @last := LAST_INSERT_ID();
- INSERT INTO shirt VALUES
- (NULL, 'polo', 'blue', @last),
- (NULL, 'dress', 'white', @last),
- (NULL, 't-shirt', 'blue', @last);
- INSERT INTO person VALUES (NULL, 'Lilliana Angelovska');
- SELECT @last := LAST_INSERT_ID();
- INSERT INTO shirt VALUES
- (NULL, 'dress', 'orange', @last),
- (NULL, 'polo', 'red', @last),
- (NULL, 'dress', 'blue', @last),
- (NULL, 't-shirt', 'white', @last);
- SELECT * FROM person;
- SELECT * FROM shirt;
测试UPDATE关联
- UPDATE PERSON SET id=3 WHERE id=1;
- SELECT * FROM shirt;
测试DELETE关键
- DELETE FROM PERSON WHERE id=3;
- SELECT * FROM shirt;
【编辑推荐】
解读MySQL数据库产品定价新策略
带您学习DB2字符集和MySql字符集
查看MySQL数据库表的命令介绍
基于Hash算法的Mysql分表处理
MySQL定义外键的方法
分享题目:Mysql外键用法分析
文章网址:http://www.csdahua.cn/qtweb/news15/230365.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网