Java 使用JDBC消除insert语句中的列名
我正在尝试使用JDBC创建一个insert语句。对于表,我尝试插入包含82列的值。我想知道是否有一种方法可以直接调用insert函数并将值插入到表中,而不是指定每个列名? 例如:假设一条语句是:将值(1,21,…)插入表(id,年龄,…)中。 我不想在语句中指定列名(id、age和all)。有没有不处理列名的方法?您可以执行以下操作:Java 使用JDBC消除insert语句中的列名,java,database,jdbc,Java,Database,Jdbc,我正在尝试使用JDBC创建一个insert语句。对于表,我尝试插入包含82列的值。我想知道是否有一种方法可以直接调用insert函数并将值插入到表中,而不是指定每个列名? 例如:假设一条语句是:将值(1,21,…)插入表(id,年龄,…)中。 我不想在语句中指定列名(id、age和all)。有没有不处理列名的方法?您可以执行以下操作: INSERT INTO table VALUES (1, 21, 345, ...) 。。。但是,您必须确保在表中提供每个列的值,即使是可为空的值。您还必须确保
INSERT INTO table VALUES (1, 21, 345, ...)
。。。但是,您必须确保在表中提供每个列的值,即使是可为空的值。您还必须确保按照数据库中定义的确切顺序提供它们
帮你自己一个忙,别那么做。您可能会发现现在必须显式列出所有列很烦人。但这样做:
- 您可以选择不为某些列提供值
- 列的顺序不需要与表的列定义顺序匹配
- (而且最重要的是)如果有人向您的表中添加新的可为null的列,您的代码将不会中断
public void callProc () throws Exception{
CallableStatement cs;
Connection con = getMySqlConnection();
cs = con.prepareCall("CALL getHash(?,?);");
cs.setString(1, "some string");
cs.setString(2, "some other string");
cs.execute();
}
如果没有发布相关代码,没有人可以帮助您。否决票。您可以参考如何通过检查来提问,以及如何通过阅读以下内容来创建示例:一个具有82列的表显示了设计气味(除非您说服我相反)