MySQL无法级联
以下是我建的表:
CREATE TABLE user (
name varchar(50) default NULL,
author varchar(50) NOT NULL default '',
PRIMARY KEY (author)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE news (
headline varchar(250) NOT NULL default '',
author varchar(50) default NULL,
body longtext,
date varchar(100) default NULL,
PRIMARY KEY (headline),
foreign key (author) references user(author) on delete cascade on update cascade
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
给表插入以下数据:
insert into user values('name1','author1');
insert into `news` values('headline1','author1','body1','date1');
当我执行delete from user where author='author1'时,user表的记录是删除了,但news表中对应的记录却还在!请问这是什么原因??
要使用Innodb引擎才支持。
ENGINE=MyISAM
MyISAM 并不支持外键,你需要用innodb.
ALTER TABLE TT type innodb;
相关问答:
我是用mysql自带的C API
if(mysql_real_connect(&mysql,"125.0.0.108","root","root","home",3306,NULL,0))
{
AfxMessageBox("数据库连接失败") ......
我以前安装了一次,后来卸载了,现在再安装的时候,提示错误:Error 1305.Error reading from file C:DOCUME~1\LOCALS~1\Temp\mysql_server.msi.Verify that the file exists and that you can access it.
可是我找 ......
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
在三十讲遇到这样一个问题就是运行代码时出现错误 Fatal error: Call to undefined method mysql::fetch_array() in D:\WWW\news\index.php on line 12
,我把mysql::fetch_array() 改成mysql::fetch_row() 又出现F ......
我的Mysql 使用的时候 用dos建立的数据表 在dos中能显示出中文
但是在 其他的可视页面 和网页中都显示乱码 如何解决?
在mysql控制台:show variables like 'char%';贴结果出来看看。
mysql命令行模式下: ......