java - 错误:PostgreSQL 中没有参数 $1
问题描述
我有这种方法可以在数据库中插入一列。它在 MySQL 数据库中运行良好,但是当数据库是 PostgreSQL 时,我在问题标题中得到错误。
这是方法的一小部分
while (rs.next()) {
String tableName = rs.getString(3);
if (tableName.endsWith(this.getSuffix())) {
tablesFound = true;
if (!checkColumnsExists(connection, tableName, this.getColumnName(), databaseType)) {
PreparedStatement s = connection.prepareStatement(getQuery(tableName));
System.out.println("QUERY:"+getQuery(tableName));
if (this.defaultValue != null) {
System.out.println("DEFAULT VALUE: "+this.defaultValue);
s.setString(1, this.defaultValue);
}
s.executeUpdate();
logger.info("Column " + this.getColumnName() + " added to table " + tableName);
columnsAdded = true;
}
}
}
当我打印查询时,这就是结果
QUERY:ALTER TABLE test2_transactions ADD COLUMN NEW_COLUMN_SUFFIX varchar(250) NOT NULL DEFAULT ?
我做错了什么,我这样做只发生在 Postgre 中?
解决方案
推荐阅读
- airflow - 有没有办法通过 SimpleHttpOperator 在 Airflow 中通过 REST 上传文件?
- vue.js - Vue路由器,无法读取未定义的属性“推送”
- javascript - 函数返回自身,意外行为
- html - 如何在具有响应式模板的相对包装器中将 div 位置绝对设置到右侧?
- node.js - 如何在 LoopBack 4 中进行数据库迁移
- php - 致命错误:未捕获的TypeError:safeQuery()的返回值必须是数组或null类型,返回bool
- python - StreamConn unsubscribe() 和 close() 似乎不起作用(AlpacaAPI),寻求意见
- javascript - 删除和添加新的 HTML 标记
- python - Matlab 上的 bwlabeln 和 Python 上的 skimage.measure.label 之间的性能差异?
- javascript - javascript函数currying,传递一个函数,通过currying传递更高的函数参数