Java、SQL、id增量语句?

Java、SQL、id增量语句?,java,mysql,sql,Java,Mysql,Sql,我正在使用这种方法: public static boolean match(String name, String password) { ResultSet result = null; try { result = World.database().executeQuery("SELECT password FROM " + PLAYER_TABLE + " WHERE user

我正在使用这种方法:

public static boolean match(String name, String password) {
                ResultSet result = null;
                try {
                        result = World.database().executeQuery("SELECT password FROM " + PLAYER_TABLE + " WHERE username='" + name + "'");
                        if (result.next()) {
                                String passwordResult = result.getString("password");
                                String encryptedPassword = MD5Encryption.encrypt(password);
                                if (encryptedPassword.equals(passwordResult))
                                        return true;
                        } else {
                                System.out.println("match(String name, String password: false.");
                                StringBuilder query = new StringBuilder();
                                query.append("INSERT INTO `frostblades_users` (id, username, displayName, previousname, lastChanged, password, email, reg_ip, reg_date, last_ip, last_online, picture, rights, playTime, forum, gender, donator, donatorTill, mute, muteTill, banned, online, sof_points, location, hitpoints, inventory_items, inventory_amount, equipment_items, equipment_amount, bank_items, bank_amount, bank_tabs, skills_level, skills_experience, looks, colours, points, friends, ignores, quest_points, music, prayer_points, pouch, run_energy, magic_book, prayer_book, familiar, bob_items, bob_amount, quest_states, quest_progress) VALUES(");
                                query.append("'" + player().definition().index() + "'").append(",");
                                query.append("'" + log.type().index() + "'").append(",");
                                query.append("'" + log.key() + "'").append(",");
                                query.append("'" + log.value() + "'").append(",");
                                query.append("'" + log.date() + "'").append(")");
                                World.database().executeUpdate(query.toString());
                        }
现在我以我的冒险日志为例:

StringBuilder query = new StringBuilder();
                                query.append("INSERT INTO `frostblades_adventurers_logs` (user_id, log_type, log_key, log_value, log_date) VALUES(");
                                query.append("'" + player().definition().index() + "'").append(",");
                                query.append("'" + log.type().index() + "'").append(",");
                                query.append("'" + log.key() + "'").append(",");
                                query.append("'" + log.value() + "'").append(",");
                                query.append("'" + log.date() + "'").append(")");
                                World.database().executeUpdate(query.toString());

如何获取“player().definition().index()”,这是每个新帐户的增量++id?

要检查用户名是否存在,可以执行如下查询:

  SELECT Count(*) as numusers FROM users WHERE username = 'THEUSERNAME';
如果结果numusers>0,则用户名存在,否则不存在。因此,您需要使用查询生成器来创建和执行查询


至于ID,最简单的方法是让数据库增加ID,这样您就不会在数据库中插入ID。

要检查用户名是否存在,您可以执行如下查询:

  SELECT Count(*) as numusers FROM users WHERE username = 'THEUSERNAME';
如果结果numusers>0,则用户名存在,否则不存在。因此,您需要使用查询生成器来创建和执行查询


至于ID,最简单的方法是让数据库增加ID,这样您就不会在数据库中插入ID。

谢谢。格式不对,我在移动设备上。请使用
PreparedStatement
。不要通过字符串连接将用户提供的数据合并到语句中。否则,会造成严重的安全隐患。谷歌“Bobby Tables”查看解释。不再需要这个,我将用问题替换线程。我解决了我原来的问题…谢谢。格式不对,我在移动设备上。请使用
PreparedStatement
。不要通过字符串连接将用户提供的数据合并到语句中。否则,会造成严重的安全隐患。谷歌“Bobby Tables”查看解释。不再需要这个,我将用问题替换线程。我修复了我原来的问题…数据库会自动为您增加id?如果您将id字段设置为自动增加,则它可以。您的insert语句可以完全忽略此字段。因此,我想问一个问题:移动到粘贴,因为它太长了。很抱歉进行了粘贴,但我不确定您是否希望我用它替换主线程。数据库会自动为您增加id?如果您将id字段设置为自动增加,则它可以。您的insert语句可以完全忽略此字段。因此,我想问一个问题:移动到粘贴,因为它太长了。很抱歉制作了一个粘贴,但我不确定您是否希望我替换带有它的主线程。