1. 程式人生 > >insert和 select 結合實現“插入某欄位在資料庫中的最大值+1”

insert和 select 結合實現“插入某欄位在資料庫中的最大值+1”

本文是mysql 資料庫

問題一 將表一的資料匯入表二:

將表一的資料匯入表二:

將表二中的資料 插入到 表一,表一的列對應表二 select 出來的列

INSERT INTO  表一  (column1, column2, column3, column4)
select  column1, column2, column3, column4 from 表二 

問題二 表中插入資料時,某一欄位取資料庫中該欄位的最大值,並+1,

在表中插入資料時,某一欄位取資料庫中該欄位的最大值,並+1,這個問題很多人都說用儲存過程什麼的解決,其實使用insert 和 select 結合就可以很好的解決這個問題啊。

例子:表一插入新紀錄,age 值取資料庫中最大值並+1 ,當做新資料的age 存入資料庫。(當然age 的select 語句還可以加where 條件哦。)

INSERT INTO  表一(
            column1, 
            column2, 
            column3, 
            column4,
            age
        )SELECT
            column1, 
            column2, 
            column3, 
            column4,
            (select
IFNULL((select max(age) from 表名,0)+1);