麻烦 JAVA 大神帮忙看一段代码,为什么每次插入数据都只是一条,谢谢

Stringsql1="createtemporarytableifnotexistsm_add(idint,m_namevarchar(255),m_modelvarc... String sql1 = "create temporary table if not exists m_add(id int,m_name varchar(255),m_model varchar(255),m_num varchar(255))";
String sql2 = "insert into m_add values('2','创建临时表成功2!','3','3')";
PreparedStatement ps1 = DB.prepare(conn,sql1);
PreparedStatement ps2 = DB.prepare(conn,sql2);
ps1.execute(sql1);
ps2.execute(sql2);
sql = "select * from m_add" ;
PreparedStatement ps = DB.prepare(conn,sql);
ArrayList<MaterialApplay> matapp = new ArrayList<MaterialApplay>();
try {
ResultSet rs = ps.executeQuery();
while (rs.next()){
MaterialApplay ma = new MaterialApplay();
ma.setId(rs.getInt("id"));
ma.setM_name(rs.getString("m_name"));
ma.setM_model(rs.getString("m_model"));
ma.setM_num(rs.getInt("m_num"));
matapp.add(ma);
System.out.print(ma.getM_name());
}
}
展开
 我来答
徘徊的选择
2014-09-16 · 超过16用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:34.8万
展开全部
你说的一条数据的意思是说System.out.print()只有一个’创建临时表成功2!‘名字的意思么? 如果是的话看一下你数据库中到底有几条数据。 如果不是这个意思我就不理解你说的是什么意思了。
追问
我意思是 MySql的临时表是可以重复建的么??
为什么每次create temporary table都会成功不报错额。。。
这样的话 我每次访问这段代码实际上都是在重新建表,而不是插入新数据
追答

我查看了一下资料,然后试验了一下,是在MYSQL里面实验的, 首先是临时表的生命周期,在你断开与数据库的连接时,临时表直接删除了,每次用的时候都重新建立一个,如果不断开,则会在原来的临时表中插入新的数据。

新建立一个查询,建立临时表,插入一个数据

又插入一个数据,并且查询了一下临时表内的数据,存在插入的。

关闭本次查询,新建立查询的时候出现了不存在表

临时表应该是在断开连接之后直接删除了,然后每次运行代码 每次都没有这个临时表,每次都要创建新的临时表。   如果我说的有什么问题请指正。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式