mysql中建立外键的方法

文章作者 100test 发表时间 2007:10:15 11:55:26
来源 100Test.Com百考试题网


找了很久才找到并搞清楚的mysql中建立外键的方法,看下面的例子。
一个主表blog博客表,
DROP TABLE IF EXISTS `blog`.
CREATE TABLE `blog` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(11) default NULL,
`content` varchar(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312.
另一个表comment,评论表
博客表和评论表关系是1:N

0drop table comment.
create table comment(
id int primary key,
user varchar(11),
email varchar(11),
url varchar(11),
content varchar(11),
addTime date,
blog_id int,
constraint FK_blog_id foreign key (blog_id) references blog(id)
)ENGINE=InnoDB DEFAULT CHARSET=gb2312.

注意,一定要varchar(11),要不然就错了,我是根据已有表导出sql才看出来的.
这个sql语句用sql-front导出后的结果是:
DROP TABLE IF EXISTS `comment`.
CREATE TABLE `comment` (
`id` int(11) NOT NULL,
`user` varchar(11) default NULL,
`email` varchar(11) default NULL,
`url` varchar(11) default NULL,
`content` varchar(11) default NULL,
`addTime` date default NULL,
`blog_id` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `FK_blog_id` (`blog_id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312.
ALTER TABLE `comment`
ADD FOREIGN KEY (`blog_id`) REFERENCES `blog` (`id`).


相关文章


mysq字符集出错问题及解决方法
mysql各种乱码及解决方法
mysql中建立外键的方法
mysqld安全应该注意的几个问题
SQL中EXCEPT和Notin的区别?
SQL语句的DECODE,NVL()函数
关于SQL中存储单个分号字段
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛