如何解决在SQL中添加外键时出现语法错误106442000
我正在尝试向某些表添加一些外键。
首先,我向表“ Room”添加了一个外键,以使列的房间类型引用表的“房间类型”,列ID。
Private Function ProperCase(ByVal Ref As String) As String
Dim Sp() As String ' Split Ref into words
Dim i As Integer ' loop counter: words
Sp = Split(Ref)
For i = 0 To UBound(Sp)
If Not Sp(i) Like "*[0-9]*" Then Sp(i) = StrConv(Sp(i),vbProperCase)
Next i
ProperCase = Join(Sp)
End Function
这很好。但是,当我使用完全相同的格式将外键添加到另一个表时,表Nurse中的“位置”列正在引用表Position中的列ID:
ALTER TABLE room ADD FOREIGN KEY (roomtype) REFERENCES roomtype(ID);
错误1064(42000)您的sql语法有错误,请查看与您的MysqL服务器版本相对应的手册,以找到在第2行的“位置(ID)”附近使用正确的语法
我不知道如何将结果传输到此处,但是我对表Nurse和position进行了SHOW CREATE TABLE查询,但这似乎不是由于拼写错误引起的。
解决方法
-
我更改了标签:错误消息明确表明您正在使用mySql(而非MSSQL)。
-
我怀疑问题出在列名称“ position”。尝试使用以下语法:
ALTER TABLE nurse ADD FOREIGN KEY (`position`) REFERENCES `position`(ID);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。