簡體   English   中英

如何通過java自動增加mysql表中的列

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

你的查詢應該是這樣的,

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM