[英]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.