【问题标题】:executing sql constraints in JDBC code在 JDBC 代码中执行 sql 约束
【发布时间】:2014-07-19 17:02:36
【问题描述】:

所以在使用 jdbc 创建表后,我有这段代码可以在 UserInfoTable 和 ContactTable 之间建立一对多的关系,并将 UserInfoID 作为外键。

String addConstraint = "alter table ContactTable"+
    "ADD CONSTRAINT FK_ContactTable_UserInfoTable"+
    "FOREIGN KEY(UserInfoID)"+
    "REFERENCES UserInfoTable (UserInfoID)"+
    "ON UPDATE CASCADE"+
    "ON DELETE CASCADE";

但是当我执行这个时,

con.prepareStatement(addConstraint).executeUpdate();

我来了

java.sql.SQLException:关键字“CONSTRAINT”附近的语法不正确。

我真的很困惑。我在 sql server 中对这个查询进行了多次手工编码,我认为我的语法是正确的,因为它总是成功执行,为什么不使用 java 代码执行?

【问题讨论】:

  • 关键字之间缺少空格。

标签: java sql sql-server jdbc


【解决方案1】:

您正在连接字符串,但不同的段没有空格,这可能会导致关键字与您的数据捆绑在一起,从而创建无效关键字。

这很简单,但这可能就是您所需要的:

String addConstraint = "alter table ContactTable "+
"ADD CONSTRAINT FK_ContactTable_UserInfoTable "+
"FOREIGN KEY(UserInfoID) "+
"REFERENCES UserInfoTable (UserInfoID) "+
"ON UPDATE CASCADE "+
"ON DELETE CASCADE";

【讨论】:

  • 哦,我忘了串联!现在可以使用了,谢谢。
  • 很高兴我能帮上忙。如果您能标记为答案,我将不胜感激。
猜你喜欢
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-02
  • 2011-11-18
  • 1970-01-01
  • 2014-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多