首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL外键和引用其他表

SQL外键和引用其他表
EN

Stack Overflow用户
提问于 2012-04-30 21:47:22
回答 1查看 209关注 0票数 1

我正试着用外键把两个表连接起来。一个表是用户,另一个是userInfo。当我删除一个用户,我也想删除他们的信息以及。当我从user表中删除一个用户时,他们在usersInfo中的条目仍然存在。我似乎不知道我做错了什么。

代码语言:javascript
复制
CREATE TABLE users (
userid INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(30) NOT NULL,
email VARCHAR(50) NOT NULL,
password VARCHAR(32) NOT NULL,
userlevel INT UNSIGNED NOT NULL,
rating int,
organization int(1),
timestamp varchar(20) NOT NULL,
);

这是我的用户信息表。是的,我知道它可能在同一张桌子上。我这么做只是为了一个简单的例子。

代码语言:javascript
复制
CREATE TABLE usersInfo(
userid int  auto_increment NOT NULL,
userlocation varchar(50),
about varchar(300),
userkeywords varchar(150),
FOREIGN KEY(userid) REFERENCES users(userid) ON DELETE CASCADE ON UPDATE CASCADE
);

编辑-问题解决了。感谢每一个帮忙的人。

TYPE = InnoDB语句的末尾添加了CREATE TABLE

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-30 22:12:00

ENGINE=INNODB添加到这些CREATE TABLE语句中,以确保它们是InnoDB表。低于5.5.5的MySQL版本默认为MyISAM,它不支持外键关系,但如果定义外键关系也不会引发错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10391034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档