如何改表不用改?个数

conn.prepareStatement("insert into MYTEST_COPY values(?,?,?,?,?)");

[code="java"]String tableName = "base_customer";
//getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
List columnNameList = new ArrayList();
ResultSet rs = conn.getMetaData().getColumns(null, null, tableName, "%");
while(rs.next()) {
columnNameList.add(rs.getString(4));
}

        StringBuilder s = new StringBuilder("insert into ");
        s.append("insert into ");
        s.append(tableName);
        s.append(" values(");
        for(int i = 0; i < columnNameList.size(); i++) {
            if(i > 0) {
                s.append(",");
            }
            s.append("?");
        }
        s.append(")");

        System.out.println(s.toString());[/code]

加上对应的 字段 ,这样你给表 添加相应的 字段的时候,设置一个默认值 ,就OK l

[code="java"]conn.prepareStatement("insert into MYTEST_COPY(id,name,pwd,address,user) values(?,?,?,?,?)");
[/code]

不用修改表的情况下:
SELECT vale1, value2 into Table2 from Table1
Table2 不用存在
SELECT INTO FROM语句创建表Table2并复制数据

我理解错了。。哥们表达有问题。应该这么说:
insert 怎么现在?代表的列

要么对?加上对应的字段,要么表中有几个字段,?就出现几个

ORM得了!

首先你create了一个prepareStatement,之后必然会对prepareStatement进行做set的操作的对吧,那么应该也可以知道具体要进行多少次次set,那么直接将?,?,?,?替换成根据set次数自动生成?,字符串的方法不就可以了么

只有不改变列的个数就ok了...

insert into MYTEST_COPY() values(?,?,?,?,?)

表后跟一个括号, 括号里边写字段名, 跟后边的问好一一对应即可。