【问题标题】:ALTER TABLE FOREIGN KEY from java to mysqlALTER TABLE FOREIGN KEY 从 java 到 mysql
【发布时间】:2011-12-02 01:45:02
【问题描述】:

好吧,我想在我的数据库中进行修改,所以我需要使用 alter table 但 java 似乎有问题。

这句话

ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);

你是怎么执行的?

我正在这样做:

rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id);";
currentStatement = conn.createStatement();
currentStatement.execute(rawStatement); 

最后一行正确吗?

据我所知,execute 必须运行一切。

【问题讨论】:

  • 我真的很抱歉我的错误。我正在使用扫描仪从文件中读取 sql,但我从未意识到扫描仪没有加载整个文件,它停在 ALTER TABLE 行,导致错误,现在我正在读取整个文件并且 ALTER 工作正常......我一直在使用执行,它工作得很好。再次抱歉。

标签: java mysql foreign-keys alter-table


【解决方案1】:

使用this:

executeUpdate() 

而不是

execute()

如果约束已经存在,它会抛出异常

您应该注意的其他事项:

  • 用户是否有修改表的权限?

【讨论】:

    【解决方案2】:

    试试下面的代码:

    rawStatement="ALTER TABLE loans ADD FOREIGN KEY (id_reader) REFERENCES readers (id)"; 
    PreparedStatement ps = conn.prepareStatement(rawStatement);
    ps.executeUpdate();
    

    【讨论】:

      猜你喜欢
      • 2012-07-25
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      • 2021-06-17
      相关资源
      最近更新 更多