12
返回列表 发新帖
楼主: liyihongcug

MYSQL 外键没有效果

[复制链接]
论坛徽章:
18
授权会员
日期:2005-10-30 17:05:33美羊羊
日期:2015-03-04 14:48:58马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11紫蜘蛛
日期:2012-02-21 15:06:16嫦娥
日期:2012-02-21 15:05:212012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282009日食纪念
日期:2009-07-22 09:30:00数据库板块每日发贴之星
日期:2009-02-26 01:01:03
11#
 楼主| 发表于 2006-12-25 17:10 | 只看该作者
ok
首先 create table cp2 like cp
之后加需要字段  再去掉不需要的字段 加上索引
之后加外键语句执行

就没有问题拉  (曲线方式)

分析原因:默认是必须结构相同,所以根据这规则,先做成功完全相同结果的表,之后再表基础上修改 增加 删除 ,最后就没有问题

使用道具 举报

回复
论坛徽章:
64
会员2007贡献徽章
日期:2007-09-26 18:42:10NBA常规赛纪念章
日期:2008-04-18 19:48:16欧洲冠军杯纪念徽章
日期:2008-05-23 14:31:342009新春纪念徽章
日期:2009-01-04 14:52:28NBA常规赛纪念章
日期:2009-04-16 14:28:42NBA季后赛纪念徽章
日期:2009-06-16 11:28:172010新春纪念徽章
日期:2010-01-04 08:33:08
12#
发表于 2006-12-26 15:31 | 只看该作者
最初由 liyihongcug 发布
[B]ok
首先 create table cp2 like cp
之后加需要字段  再去掉不需要的字段 加上索引
之后加外键语句执行

就没有问题拉  (曲线方式)

分析原因:默认是必须结构相同,所以根据这规则,先做成功完全相同结果的表,之后再表基础上修改 增加 删除 ,最后就没有问题 [/B]


你的说法有点不太对。
mysql要求的是对应的字段的类型等一致,如下测试就可看出:
mysql> create table aa (a int ,b varchar(3),primary key(a));
Query OK, 0 rows affected (0.34 sec)

mysql> create table aa1(a int,c int, ac varchar(3));
Query OK, 0 rows affected (0.11 sec)

mysql>  create table bb like aa;
Query OK, 0 rows affected (0.08 sec)

mysql>  ALTER TABLE aa1 ADD constraint fk_aa1 FOREIGN KEY (a) REFERENCES aa (a)
on delete cascade on update cascade;
Query OK, 0 rows affected (0.22 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> ALTER TABLE bb ADD constraint fk_bb FOREIGN KEY (a) REFERENCES aa (a) on
delete cascade on update cascade;
Query OK, 0 rows affected (0.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql>

表结果是否同没关系,而且父表的对应字段必须是主键。

使用道具 举报

回复
论坛徽章:
18
授权会员
日期:2005-10-30 17:05:33美羊羊
日期:2015-03-04 14:48:58马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11紫蜘蛛
日期:2012-02-21 15:06:16嫦娥
日期:2012-02-21 15:05:212012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282009日食纪念
日期:2009-07-22 09:30:00数据库板块每日发贴之星
日期:2009-02-26 01:01:03
13#
 楼主| 发表于 2006-12-28 16:27 | 只看该作者
但是实际上确实出现这个情况,无论如何 如果有该情况 可以参考 建立同结构表 之后在add delete字段的方法

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表