首先,感谢您的帮助和支持。当我从网络上学习MySQL时,我知道我会犯很多错误,在此先感谢您的耐心和理解。
我正在基于Java创建项目,然后创建MySQL数据库和表。通常情况下,一切顺利,直到遇到此问题为止。到目前为止,这给我带来了最大的麻烦。我读了许多关于错误150的文章。我已经在MySQL站点上阅读了错误150,我认为我已经满足了发生错误150的十个原因。
我正在拨打的电话正在创建每个表。以下是一些表格,这些表格涵盖了我所遇到的问题。
这是WorkCalendar表
private String workCalandar = "CREATE TABLE WorkCalendar ("
+ "WorkCalendarIdNo INT(64) NOT NULL AUTO_INCREMENT,"
+ "WorkCalendarDate Date,"
+ "WorkCalendarDayCount INT(64),"
+ "WorkDayTypeIdNo INT(64),"
+ "PRIMARY KEY(WorkCalendarIdNo),"
+ "FOREIGN KEY(WorkDayTypeIdNo) REFERENCES WorkDayType(WorkDayTypeIdNo)"
+ ")";
这是部门表
private String department = "CREATE TABLE Department ("
+ "DeptIdNo INT(64) NOT NULL AUTO_INCREMENT,"
+ "DeptName VARCHAR(25),"
+ "PRIMARY KEY(DeptIdNo)"
+ ")";
这是专家表
private String specialist = "CREATE TABLE Specialist ("
+ "SpecIdNo INT(64) NOT NULL AUTO_INCREMENT,"
+ "PrefixIdNo INT(64),"
+ "SpecFirstName VARCHAR(30),"
+ "SpecSurname VARCHAR(35),"
+ "SpecDisplayName VARCHAR(72),"
+ "DeptIdNo INT(64),"
+ "PRIMARY KEY(SpecIdNo),"
+ "FOREIGN KEY(PrefixIdNo) REFERENCES Prefix(PrefixIdNo),"
+ "FOREIGN KEY(DeptIdNo) REFERENCES Department(DeptIdNo)"
+ ")";
这是NewReferral表
private String newReferral = "CREATE TABLE NewReferral("
+ "NewReferralIdNo INT(64) NOT NULL AUTO_INCREMENT,"
+ "PatientNumber VARCHAR(12),"
+ "NewReferralDate Date,"
+ "DeptIdNo INT(64),"
+ "SpecIdNo INT(64),"
+ "NewReferralMatched BOOLEAN,"
+ "WorkCalendarIdNo INT(64),"
+ "PRIMARY KEY(NewReferralIdNo),"
+ "FOREIGN KEY(DeptIdNo) REFERENCES Department(DeptIdNo),"
+ "FOREIGN KEY(SpecIdNo) REFERENCES Specialist(SpecIdNo),"
+ "FOREIGN KEY(WorkCalendarIdNo) REFERENCES WorkCalendar(WorkCalendarIdNo)"
+ ")";
错误是无法创建表“ basque30.newreferral”(错误号:150)
我已将错误跟踪到下一行
+ "FOREIGN KEY(SpecIdNo) REFERENCES Specialist(SpecIdNo),"
有人可以指出我的方法中的错误并建议我如何解决它。
确保引用的表已经存在。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句