[英]How to Auto increment a column in mysql table through java
我有2列的表1.column1 2.column2(它的独特)现在通过java编码我在第一种方法中通过2种方法插入数据我要插入数据,在这个coumn1字段应该是自动增量(对于新用户)
String sql = "INSERT INTO table (column1, column2) values(?, ?)";
pstm = connection.prepareStatement(sql);
pstm.setInt(1, auto_incrmentvalue need to set);
pstm.setInt(2,column2);
在第二种方法中插入我想要的数据
String sql = "INSERT INTO table (column1, column2) values(?, ?)";
pstm = connection.prepareStatement(sql);
pstm.setInt(1, column1);
pstm.setInt(2,column2);
如何在第一种方法中设置自动增量值
注意:此处column1不是主键
INSERT INTO table(column1) SELECT MAX(column1)+1 FROM table
这个对我有用
你的查询应该是这样的,
INSERT INTO table(column1, column2) SELECT MAX(column1)+1, 79 FROM table
更精致的答案:
INSERT INTO
usertable(column1, column2)
SELECT CASE COUNT(column1)
WHEN 0 THEN 0
ELSE MAX(column1) END+1,
79 FROM usertable
这可能是一个更简单的解决方案:
INSERT INTO usertable(column1, column2)
SELECT IFNULL(MAX(column1)+1,1),79 FROM usertable
让我们尝试一次(未测试)
INSERT INTO table(column1) SELECT count(column1)+1 FROM table
对于前者,
INSERT INTO table(column1, column2) SELECT count(column1)+1, 79 FROM table
如果你想要column1的自动值,不要设置它,只要让它得到一个defult值
INSERT INTO table (column2) values(?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.