【问题标题】:Foreign Keys, Private Keys MSSQL 1:1 and 1:Many issues外键、私钥 MSSQL 1:1 和 1:很多问题
【发布时间】:2011-06-29 05:50:05
【问题描述】:

遇到一些 SQL (SqlCe) 问题我收到以下错误:

解析查询时出错。

(1) ERROR:> [Token Line number = 1, Token Line offset 853, Token in error = @clID]

来自以下 SQL 行:

mySQLCommand1.CommandText = "INSERT into clientSubjectiveComplaints (clientSubComplaintCreated,clientSubComplaintModified,clientSubComplaintAge,clientSubComplaintWeight,clientSubComplaintHeight,clientSubComplaintConfirmation,clientSubComplaintEnviorment,clientSubComplaintFood,clientSubComplaintPresentComplaint,clientSubComplaintHistoryofPresentComplaint,clientSubComplaintPastMedicalHistory,clientSubComplaintMedication,clientSubComplaintLastDentalCheckUp,clientID) VALUES (@ClientSubComplaintCreated, @ClientSubComplaintModified, @ClientSubComplaintAge, @ClientSubComplaintWeight, @ClientSubComplaintHeight, @ClientSubComplaintConfirmation, @ClientSubComplaintEnviorment, @ClientSubComplaintFood,@ClientSubComplaintPresentComplaint, @ClientSubComplaintHistoryofPresentComplaint, @ClientSubComplaintPastMedicalHistory, @ClientSubComplaintMedication, @ClientSubComplaintLastDentalCheckUp, @clID";

这是我试图插入到表 clientSubjectiveComplaint 中的时候。

注意:上面的 db 验证正常。

在网上阅读了一下之后假设这可能是私钥外键问题,但我不完全确定。

我将表格中的一些更改为 1:1 关系(见下图),因为无论如何它更有意义,但随后表示如果您有 1:1 关系,那么它期望主键对于表。 See Here

所以问题

原始错误 (1) 是什么意思,为什么会出现 Token 错误?

其次:

假设See Here 中的 PK 密钥问题是正确的,那么建立 1:1 关系的正确程序是什么。

谢谢。

【问题讨论】:

    标签: c# mysql sql sql-server-ce


    【解决方案1】:

    您在mySQLCommand1.CommandText 中的查询中缺少右括号

    换句话说,应该是:

    mySQLCommand1.CommandText = "INSERT into clientSubjectiveComplaints (clientSubComplaintCreated,clientSubComplaintModified,clientSubComplaintAge,clientSubComplaintWeight,clientSubComplaintHeight,clientSubComplaintConfirmation,clientSubComplaintEnviorment,clientSubComplaintFood,clientSubComplaintPresentComplaint,clientSubComplaintHistoryofPresentComplaint,clientSubComplaintPastMedicalHistory,clientSubComplaintMedication,clientSubComplaintLastDentalCheckUp,clientID) VALUES (@ClientSubComplaintCreated, @ClientSubComplaintModified, @ClientSubComplaintAge, @ClientSubComplaintWeight, @ClientSubComplaintHeight, @ClientSubComplaintConfirmation, @ClientSubComplaintEnviorment, @ClientSubComplaintFood,@ClientSubComplaintPresentComplaint, @ClientSubComplaintHistoryofPresentComplaint, @ClientSubComplaintPastMedicalHistory, @ClientSubComplaintMedication, @ClientSubComplaintLastDentalCheckUp, @clID)";
    

    意思应该是这样结束的:, @clID)";

    【讨论】:

    • 如果你知道我做过多少次类似的事情你会笑的!解决此类问题的最佳方法是向某人解释(亲自或在线)。有时解释的行为可以帮助你看到问题,有时你正在解释的人可以看到它。总的来说,它节省了很多时间。承认一个人并不总是完美的,这对灵魂也是有好处的!我认为这是一个好习惯,所以我赞成这个问题!
    猜你喜欢
    • 1970-01-01
    • 2010-09-07
    • 2015-01-31
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多