如何使用预准备语句更新mysql数据库中的值

时间:2016-04-07 03:44:36

标签: java mysql prepared-statement

所以我在数据库中有一个值,我希望得到,然后减去从用户输入获得的另一个值,并在以前在数据库中的值的位置重新写入这个新值。我听说这可以通过准备好的声明来完成,不太确定。

感谢。

2 个答案:

答案 0 :(得分:0)

如果要经常重用该语句,则可以通过创建预准备语句并更新每个调用的值来避免处理数据库为每个调用解析SQL语句所花费的时间 - 准备好的语句将具有变量值的占位符,只有在创建预准备语句时才会解析SQL。

stm = conn.prepareStatement("update MyTable set Col1 = Col1 - ? where KeyCol = ?");

然后,每次有新的键值和关联的偏移量时,都按如下方式设置它们:

stm.setInteger(1,newOffset);  // assign newOffset value to first ?
stm.setInteger(2,keyVal);
stm.execute();  // executes the statement with the specified values

答案 1 :(得分:0)

我们需要知道你的表和属性是什么。如果它类似于一个名为users的表,其中每个用户都有一定数量的点,你可以这样做一个SQL语句:

SELECT points FROM users WHERE username='somename';

然后,您可以使用新的点变量更新该分数" newpoints"做这样的事情:

UPDATE users SET points = newpoints WHERE username = 'somename';

此网站有一些非常有用的命令:http://g2pc1.bu.edu/~qzpeng/manual/MySQL%20Commands.htm