本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何在 JDBC 查询中传递参数来创建表?

发布于2023-09-20 19:26     阅读(1175)     评论(0)     点赞(5)     收藏(1)


我正在尝试编写一个 sql 查询,我想在运行时传递表名。询问:

create table mytable (time datetime, price double)

所以,我创建了一个通用查询:

create table ? (time datetime, price double)

然后我在运行时将表名称传递为:

PreparedStatement preparedStatement = connection.prepareStatement(CREATE_TABLE_QUERY);
preparedStatement.setString(1, tableName);
preparedStatement.executeUpdate(CREATE_TABLE_QUERY);

运行此代码时,我收到异常,我的查询语法不正确。我们是否传递使用其他技术创建表的参数?


解决方案


据我所知,准备好的语句不允许设置表名。大多数情况下它只支持?在 DML 语句(插入、更新、删除、选择)中的值中,而不是 DDL 中。

要创建表,您必须创建一个 SQL 字符串,例如

String s = "create table " + TABLE_NAME + " (col int) ";
stmt.execute(s);


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/677348/6e6ed2dbb926910050de/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)