首页 > 代码库 > MySql不支持主外键
MySql不支持主外键
创建表不支持主外键,能够添加外键成功,但是无法外键约束。查资料发现MySql的默认ENGINE 为MyISAM ,不支持外键,需要修改为 INNODB
修改前:
1 Create Table2 3 CREATE TABLE `person` (4 `id` varchar(32) NOT NULL,5 `NAME` varchar(30) DEFAULT NULL,6 PRIMARY KEY (`id`)7 ) ENGINE=InnoDB DEFAULT CHARSET=gbk
在创建表时把ENGINE 修改为 INNODB
CREATE TABLE person( id VARCHAR(32) PRIMARY KEY, NAME VARCHAR(30))ENGINE=INNODB DEFAULT CHARSET=GBK CREATE TABLE cars ( id VARCHAR(32) PRIMARY KEY, NAME VARCHAR(50), price NUMERIC(5,2), pid VARCHAR(32), CONSTRAINT c_fk FOREIGN KEY(pid) REFERENCES person(id) )ENGINE=INNODB CHARSET=GBK;
这样就支持外键了
一劳永逸的方法:
修改my.ini,在[mysqld]添加
default-storage-engine=INNODB
修改mysql默认编码:
[mysqld]
default-character-set = utf8
[client]
default-character-set = utf8
MySql不支持主外键
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。