创建表不支持主外键,能够添加外键成功,但是无法外键约束。查资料发现MySql的默认ENGINE 为MyISAM  ,不支持外键,需要修改为 INNODB

修改前:

 Create Table

 CREATE TABLE `person` (
`id` varchar(32) NOT NULL,
`NAME` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) 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不支持主外键的更多相关文章

  1. MySQL进阶(一)主外键讲解

    1.什么是外键: 作为外键的字段. REFERENCES:映射到主表的字段2. ON DELETE后面的四个参数:代表的是当删除主表的记录时,所做的约定. RESTRICT(限制):如果你想删除的那个 ...

  2. MySQL 主外键约束与标准SQL不同的地方

    [标准SQL的外键约束条件] 1): 子表引用父表的主键 drop table if exists child,parent; create table if not exists parent( i ...

  3. MySQL创建数据表并建立主外键关系

    为mysql数据表建立主外键需要注意以下几点: 需要建立主外键关系的两个表的存储引擎必须是InnoDB. 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型. 外键列和参照列必须创建索引, ...

  4. Mysql中的外键分析(什么是外键,为什么要用外键,添加外键,主外键关联删除)

    有一个东西一直在我脑海中是个很烦的东西,但是这东西不搞清楚会阻碍自己的前进.自己做项目demo永远只能用一张表... 所以今天还是学习了下外键希望能够搞明白一些... 百度上搜索外键的作用" ...

  5. netcore2.0 ORM框架中如何配置自定义的主外键加载

    环境:netcore2.0 DB :mysql ORM:Ant https://github.com/yuzd/AntData.ORM/tree/netcore2 [给我一个star吧] NUGET: ...

  6. oracle主从表主外键对应关系

    一.首先让我们来了解下什么是主外键? 1.主键:唯一标识数据表中的某一行 1) 一个表中只能有一个主键.如果在其他字段上建立主键,则原来的主键就会取消.在ACCESS中,虽然主键不是必需的,但最好为每 ...

  7. MySQL的四种外键

    来自:某一位网友的博客    转自:http://blog.csdn.net/cnjsnt_s/article/details/5548280 具体使用时需要参考:http://blog.csdn.n ...

  8. 主外键多表查询demo

    https://www.cnblogs.com/DragonFire/p/6949767.html mySQL练习-主外键多表查询 MySQL练习-主外键多表查询 练习: 1.建立表关系: 请创建如下 ...

  9. EntityFramework Core 迁移忽略主外键关系

    前言 本文来源于一位公众号童鞋私信我的问题,在我若加思索后给出了其中一种方案,在此之前我也思考过这个问题,借此机会我稍微看了下,目前能够想到的也只是本文所述方案. 为何要忽略主外键关系 我们不仅疑惑为 ...

随机推荐

  1. Graphics2D 中文乱码

    今天遇到了一个乱码问题,合成的小票图片上的中文全部变成了口口口,后来在网上查了资料,发现是Graphics2D用了宋体字,而linux服务器上没有对应的字体库. 把本地的字体库上传上去就解决了. 本地 ...

  2. phpcms v9开源开发框架基础mvc解读

    根据对mvc的了解 简要写个mvc框架 也谈不上框架 希望对新手有帮助 简单的解析下mvc  你可以这样了解 m模型也就是数据库操作 v视图  c控制器 通过url来判断调用m和v来完成请求,本身没数 ...

  3. destoon程序中qq号码,手机号,msn必选项实现方法

    最近发现好多客户,信息不完全!还是把qq号码,手机号,msn设为必选项比较好!下面以把qq设为必选项为例找到模板 template/default/member/edit.htm 找到 functio ...

  4. 使用Statement执行sql语句

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java ...

  5. .NET MVC插件化开发(支持Script和css压缩)

    上一篇博文里面,没有支持Script和css的压缩功能以及script和css的路径问题也没有解决,所以重新发布一个版本,解决了这几个问题,并且优化了插件路由注册,现在可以很方便的实现热插拔web插件 ...

  6. hibernate3 无法查询中文问题

    在查询中文时  hql语句在生成的语句中把中文显示为乱码 则在hibernate配置文件中加入: <property name="hibernate.query.factory_cla ...

  7. LED限流电阻的大小计算

    很多时候电路中都用LED做指示,这就涉及到限流电阻,这个怎么选取呢? 可以举个例子,贴片蓝色LED datasheet上参数如下 要注意理解LED Datasheet上的参数.最重要的三个参数如下: ...

  8. Android动画效果

    layout_left_in.xml <?xml version="1.0" encoding="utf-8"?> <layoutAnimat ...

  9. java 枚举类型

    原来枚举类型还可以这样玩... public enum Tenum { None(1),ByteArray(2),List(3),Map(4); private int id; private Ten ...

  10. SpringMVC拦截器(实现登录验证拦截器)

    本例实现登陆时的验证拦截,采用SpringMVC拦截器来实现 当用户点击到网站主页时要进行拦截,用户登录了才能进入网站主页,否则进入登陆页面 核心代码 首先是index.jsp,显示链接 <%@ ...