数据库。PHP中的MYSQL。外键约束。大神帮我看一看,为什么错了?

2013-12-06 16:33:35 +08:00
 chenyg32
$sql = "CREATE TABLE Teach
(
username varchar(20) not null,
courseName varchar(20) not null,
PRIMARY KEY(username, courseName),
FOREIGN KEY username REFERENCES ON Teacher(username) ON DELETE CASCADE,
FOREIGN KEY courseName REFERENCES ON Course(courseName) ON DELETE CASCADE
);

只要加上那两句外键约束就错了,删掉就对了。

顺便贴上Teacher表的代码吧,Course同理。
$sql = "CREATE TABLE Teacher
(
username varchar(20) not null,
PRIMARY KEY(username)
);
2902 次点击
所在节点    程序员
15 条回复
chenyg32
2013-12-06 16:53:11 +08:00
我的错 是语句写错了……大家忽略之~对了 好像不能删除主题
chenyg32
2013-12-06 16:58:03 +08:00
大家既然来了就不能白来呢~SQL中主键如果只有一个字段它可以是外键吗,理论上应该不行?但实际创建的时候是可以的……没报错
picasso250
2013-12-06 17:04:40 +08:00
我想问的是:应该使用MySql的外键吗?
chenyg32
2013-12-06 17:05:41 +08:00
@picasso250 什么意思?我用的都是PHP和MYSQL
lijinma
2013-12-06 17:06:43 +08:00
mysql还有用外键的?
picasso250
2013-12-06 17:08:48 +08:00
@chenyg32 我也用PHP和MYSQL。看清楚,我的问题是:我们应该使用MySql的 **外键** 吗?
picasso250
2013-12-06 17:09:56 +08:00
bigwang
2013-12-06 18:29:26 +08:00
别用外键约束,这太复杂了,程序员要对自己好一点
zts1993
2013-12-06 20:18:47 +08:00
@lijinma innodb有的
zts1993
2013-12-06 20:19:24 +08:00
我觉得外键是一种偷懒的行为(对于PHP程序员来说)
chenyg32
2013-12-06 21:44:37 +08:00
@picasso250 php和Mysql上手不到一个星期~大神T-T~所以我也不知道~数据库才刚学……
no13bus
2013-12-06 22:07:06 +08:00
@zts1993 你是说应该直接sql直接写?
lucky2touch
2013-12-06 22:18:34 +08:00
我看主题就是创建外键的问题,总有人喜欢答非所问
picasso250
2013-12-08 10:12:25 +08:00
@chenyg32 继续努力~加油~
chenyg32
2013-12-08 14:11:17 +08:00
@picasso250 嗯嗯~ 你给的帖子受益匪浅~ 不然永远停留在书本的层面!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/92085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX