创建数据库的sql是这样的:CREATE TABLE `tasks` (
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
);
CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
);
ALTER TABLE `tasks` ADD FOREIGN KEY (`owner_id`) REFERENCES `users` (
`user_id`
) ON DELETE CASCADE;建好库表后,对整个数据库导出,得到的sql语句里面没见到有外键约束啊:--
-- 表的结构 `tasks`
--CREATE TABLE IF NOT EXISTS `tasks` (
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;--
-- 表的结构 `users`
--CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;如果用这样的导出得到的语句,再去建立库表的话,还存在当初的外键约束条件吗?
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
);
CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
);
ALTER TABLE `tasks` ADD FOREIGN KEY (`owner_id`) REFERENCES `users` (
`user_id`
) ON DELETE CASCADE;建好库表后,对整个数据库导出,得到的sql语句里面没见到有外键约束啊:--
-- 表的结构 `tasks`
--CREATE TABLE IF NOT EXISTS `tasks` (
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;--
-- 表的结构 `users`
--CREATE TABLE IF NOT EXISTS `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;如果用这样的导出得到的语句,再去建立库表的话,还存在当初的外键约束条件吗?
解决方案 »
- mysql 创建触发器,无法触发更新,但触发器的语句又没有写错啊。
- mysql问题 Incorrect string value:"\ \ \ \ \"for column'trurname' at row 1
- 急啊!有哪位兄弟知道sqlite怎么定义默认当前系统时间精确到毫秒不,查了好久,都没有查到
- mysql M-S中,怎么设置只备份需同步库中的某个表
- MySQL 139错误
- mysql创建存储过程的一个问题,在线等待!
- 我通过JDBC连接MYSQL输入中文出现问题,请指教!
- 我的MySQL 启动不了啦
- 问一个有关数据库开发效率的业务逻辑
- 插入有间隔如果用事务
- 关于MyISAM锁的疑问,请教各位大虾
- Navicat MySQL连接网站数据库
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
)ENGINE=innodb;
CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
)ENGINE=innodb;
ALTER TABLE `tasks` ADD FOREIGN KEY (`owner_id`) REFERENCES `users` (
`user_id`
) ON DELETE CASCADE;
CREATE TABLE `tasks` (
`task_id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(200) NOT NULL,
`owner_id` int(11) NOT NULL,
PRIMARY KEY (`task_id`),
KEY `owner_id` (`owner_id`)
) ENGINE=innodb;
CREATE TABLE `users` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(20) NOT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `username` (`username`)
) ENGINE=innodb;ALTER TABLE `tasks` ADD FOREIGN KEY (`owner_id`) REFERENCES `users` (
`user_id`
) ON DELETE CASCADE;
感恩,这回有了。
导出后多了这样的语句:--
-- 限制表 `tasks`
--
ALTER TABLE `tasks`
ADD CONSTRAINT `tasks_ibfk_1` FOREIGN KEY (`owner_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE;