MySQL中的自增序列号(Auto Increment)是一种数据库特性,用于在插入新记录时自动为某个字段生成唯一的递增数值。通常用于主键字段,以确保每条记录的唯一性。
MySQL中的自增序列号主要应用于整数类型字段,如INT
、BIGINT
等。
假设我们有一个用户表users
,其中有一个自增的主键字段id
:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
在Java中插入新用户:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class UserDAO {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String USER = "username";
private static final String PASS = "password";
public void addUser(String username, String email) {
String sql = "INSERT INTO users (username, email) VALUES (?, ?)";
try (Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, username);
pstmt.setString(2, email);
pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println(e.getMessage());
}
}
public static void main(String[] args) {
UserDAO userDAO = new UserDAO();
userDAO.addUser("john_doe", "john@example.com");
}
}
原因:
解决方法:
原因:
解决方法:
INT
改为BIGINT
。ALTER TABLE users MODIFY COLUMN id BIGINT AUTO_INCREMENT;
原因:
解决方法:
希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云