Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
error writing to registry key_error invalid magic number,希望能够帮助你!!!。
Error 1005 (HY000): Can't create table `go_test`.`user_profiles` (errno: 150 "Foreign key constraint is incorrectly formed")
概念
非指定的关联关系键,使用都是默认的主键不会出现标题的报错问题
当我们想要指定主表的关系键时,有人会遇到这个问题。
遇到这个问题是在创建关联关系表时出现的问题只建了主表,从表建表失败;
我出现的这个问题是指定的主表关系键既不是主键也不是索引字段,所以一直报错,看完概念之后给主表的指定键加了索引,不行,最后在从表的关系键名上也加了索引就ok了;
查找原因的时候,发觉是因为加了索引字段之后建的表的数据类型和没加索引的数据类型不一样了(疑惑);
加了索引后的XName字段后的string 类型变为 varchar(191)了
type User struct { gorm.Model Name string `gorm:"index;not null;"` Age int Phone int } type UserProfile struct { gorm.Model Pic string User User `gorm:"references:Name;foreignKey: XName;"` // 自定义关联外键, 外键名 XName string `gorm:"index;"` }
而没加索引建的表的字段后 string 类型是 longtext类型的
type User struct { gorm.Model Name string Age int Phone int } type UserProfile struct { gorm.Model Pic string XName string }
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章