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/