我有两个表,table1是带有ID列的父表,table2是带有IDFromTable1列(不是实际名称)的父表.当我在table1中将FK放在IDFromTable1ID时,我得到了错误Foreign key constraint is incorrectly formed error.如果删除了table1条记录,我想删除表2的记录.谢谢你的帮助

ALTER TABLE `table2`  
   ADD CONSTRAINT `FK1` 
      FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) 
      ON UPDATE CASCADE 
      ON DELETE CASCADE;

如果需要任何其他信息,请告诉我.我是mysql的新手

推荐答案

我在HeidiSQL上遇到了同样的问题.你收到的错误非常隐晦.我的问题是外键列和引用列的类型或长度不同.

外键列为SMALLINT(5) UNSIGNED,引用列为INT(10) UNSIGNED.一旦我把它们都做成了同样的类型,外键创建就完美地工作了.

Mysql相关问答推荐

try 恢复数据库时,如何正确解决行大小太大消息?

MySQL 8.0.28覆盖(和函数)索引未使用

—符号在哪里条件""

我可以指示MariaDB-Install-db和MariaDB忽略配置中的用户设置吗?

将时间戳四舍五入到最接近的半小时而不遗漏丢失的数据

是否可以使用以EXPLAIN EXTENDED ...开头的 SQL 语句修改数据?

MySQL CHECK 约束以确保记录不使用自动增量 ID 引用自身?

如何在 axios 请求中将更新的设置状态值作为参数传递

SQL使用LIMIT获取结果和结果中的行数

如何通过未知列中的唯一值有效地更新 MySQL 行

MySQLi count(*) 总是返回 1

MySQL中两个时间字段的分钟差

最好的 MySQL 性能调优工具?

MySql 以秒为单位的两个时间戳之间的差异?

mysql 按日期 Select 总和组

phpmyadmin没有收到要导入的数据错误,如何解决?

按日期和时间降序排序?

在 MYSQL 中按枚举字段排序

SQLSTATE [42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #3 不在 GROUP BY 子句中并且包含非聚合

如果另一列为空,则 Select 一列