我正在使用 Google Apps 脚本并使用 JDBC 连接到外部数据库。
我有一个用户表和一个契约(Contract)表,我更改了一些隐私值,但这是我的基本查询。基本上,我有一个要循环的契约(Contract)号列表,并为每个契约(Contract)号执行查询。合约表和用户表共享一个主 ID,因此我只是尝试更新用户表中的值,其中用户合约 id 等于该合约号的合约 id。
var contractNumbers = ["123","456","789"];
for (var a in contractNumbers) {
var stmt = conn.createStatement();
var contractNum = contractNumbers[a];
var query = "UPDATE user INNER JOIN contracts ON user.id_c = contracts.id SET user.quantity = '1' WHERE contracts.number = '" + contractNum + "'";
var stmt = conn.prepareStatement(query);
var result = stmt.execute();
}
此查询正在运行,并且正在正确且准确地更改值,但结果始终返回 false。知道我的查询可能有什么问题吗?它正在工作,但返回 false?或者也许是关于执行此查询的更好方法的建议?
最佳答案
当您输入数据但未获取数据时,返回值为 false
医生说:
Returns: true if the first result is a ResultSet object; false if the first result is an update count or there is no result.
就您而言,这是更新,但没有结果
完整文档 here
关于MySQL 查询返回 false,但执行正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52544567/