MySQL设置主键外键时错误:ERROR 1064 (42000)
来源:互联网 发布:网络整合营销理论 原则 编辑:程序博客网 时间:2024/05/17 04:49
环境:
MySQL 5.7
问题:
之前为这个终生图书馆小项目设计了几张表User,HaveRead,SignIn,Book,BookLabel,BookPlan,结果昨晚发现如果User表用户变化(比如删除用户等等),SignIn和HaveRead不能及时变化还得自己写代码做一个验证逻辑有点麻烦。何干事跟我提到说可以设置主键外键来解决这个问题;
在重新创建这些表以及构建外键关系的时候,MySQL报了这样一个错:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near ‘TYPE=
INNODB’ at line 8
解决:
将TYPE=INNODB改为ENGINE=INNODB就行了
外键:
还可以在foreign key那一句后面加上:
ON DELETE CASCADE ,则
1. 向parent插入数据后,向child插入数据,插入时,child中的parent_id的值只能是parent中有的数据,否则插入不成功;
2. 删除parent记录时,child中的相应记录也会被删除;–>因为: on delete cascade
3. 更新parent记录时,不给更新;–>因为没定义,默认采用restrict.
on update cascade , 则更新parent记录时,child中的相应记录也会被更新
这里具体可以参照这篇文章: MySQL外键设置详解
- MySQL设置主键外键时错误:ERROR 1064 (42000)
- mysql 设置两个主键
- 设置mysql自动生成主键
- mysql设置复合主键方法
- mysql 设置自增主键
- Mysql 主键自增量设置
- MySQL设置主键自增
- mysql 设置主键和默认值
- mysql设置2个主键
- mysql中设置主键步长
- MySQL错误:ERROR 1064 (42000): use near 'order’解决
- error错误页面设置
- MySql ERROR 1044 (42000) 错误解决
- MYSQL 脚本导入 错误--ERROR 1064
- mysql error 1129 错误
- mysql Error 0错误
- mysql error 1129 错误
- hibernate错误问题_主键设置
- ConstraintLayout 的使用
- Vim Editor Assistant
- 117:Search for a Range
- 主动信息收集之端口扫描的一些脚本
- C语言描述:单向链表的相关操作
- MySQL设置主键外键时错误:ERROR 1064 (42000)
- 字符串相关Tips
- LeetCode Week5:Recover Binary Search Tree、Binary Tree Maximum Path Sum
- 人脸识别数据库
- 安装ofsoftswitch13
- 棋盘问题
- Spark学习之RDD常用操作
- web兼容性问题
- 随机数生成算法