mysql - SQL开始事务

标签 mysql sql

 String sql= "INSERT INTO UserRecord( name, email, contactNo, password, gender, nationality, " +
                "dateOfBirth, address, postalCode, secretQuestion, secretAnswer, userType, obsoleteStatus)";

                sql += "VALUES('" +  name + "','" + email + "','" + cNo + "','" + pwd + "','" +gen + "','" + nationality + "','" 
                        + dob + "','" + address + "','" + pCode + "','" + secQuestion +"','"+secAnswer + "','"+ userType +"','" + obsoleteStatus + "')";

         String sql2= "INSERT INTO PaymentAccount(creditCardNo,creditCardType,expiryDate,CVV)";

                sql2 += "VALUES('" + cCardNo + "','" + cCardType + "','" + expiryDate + "','" + cvv + "')";

大家好,我在互联网上做了一些关于使用开始事务的研究并尝试实现它,但似乎我总是出错。我提供的 sql 是完美的,但我需要有人可以向我展示如何使用启动事务,因为我一直搞乱“”。提前谢谢大家

最佳答案

首先你应该了解prepared statements 。你的代码是纯粹的SQL注入(inject)垃圾。把它扔掉。使用此类代码处理信用卡号是被解雇的最佳方式。

其次,您必须禁用数据库连接的自动提交。这是启用的并阻止事务,因为在每个语句之后驱动程序都会完成提交。之后您可以执行显式提交。

关于mysql - SQL开始事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17474729/

相关文章:

mysql - REGEX sql 查询

c# - 通过 C#/Visual Studio 2012 连接到外部 mysql 数据库

mysql - 将主键定义转储到 schema.rb 中

mysql - 返回与 SQL 中另一个用户相同的行(协同过滤)

mysql - 从我的正则表达式中得到错误 'repetition-operator operand invalid'

java - 在java代码中使用postgres枚举必须是jOOQforcedTypes吗?

mysql - 在Mysql中组合前两种情况

mysql - 喜欢和正则表达式运算符之间的区别

php - 如何使用此函数php mysql获取总行数?

sql - 从字符串转换为uniqueidentifier时转换失败