mysql使用日常備忘

2022-05-11 14:45:15 字數 768 閱讀 3702

批量插入資料時,如果主鍵是有業務意義的,並非自自增張,那麼有可能在插入的資料中有與已存在的鍵值重複的,可以用如下方式來插入:

insert ignore

當要插入乙個資料時,插入的字段值中主鍵欄位或唯一索引欄位的值不存在則插入,如果表中存在,則做update:

replace into

replace into做update的步驟實際上是先刪除原資料,在根據新的資料做插入,這樣就存在乙個問題,如果replace into時的資料並不包含全部欄位的值,那麼沒有包含的字段將沒有資料。如果僅僅只是為了更新記錄中的某幾個字段,而不希望未更新的字段資料丟失,那麼應該用:

insert into  on duplicate key update 

例如:表test,欄位有trade_time(主鍵/唯一索引),total_money,fee三個字段

insert into

test

settrade_time = 2017081423,

total_money = 100,

fee = 100

on duplicate key update

total_money = total_money + 100,

fee = fee + 100

上面這條語句中trade_time是主鍵,意思是:如果表中沒有主鍵為2017081423的記錄,那麼插入一條記錄。如果已存在一條主鍵為2017081423的記錄,那麼更新這條記錄的total_money和fee欄位,並且是在原來值的基礎上增加100

Mysql日常函式備忘

其中intolib為表的名稱,inputtime為型別偉datetime的字段 查詢當天記錄 select from intolib where to days inputtime to days now 查詢這個星期的記錄 select from intolib where week inputt...

常見異常備忘錄

異常 1.new file string path 這個path不能為空,否則空指標 2.listview資料更新導致的陣列越界異常arrayoutofbound listview通常會對應乙個資料集,一般用list儲存。listview重新整理時,首先呼叫adapter的getcount getc...

MySQL 使用備忘

在sql語句中,如果要對字串型別使用統配,需要加上引號 如下面例子中的 select status as audit status from creativefeeds where creative response id 在sql語句中,可以對欄位名做統配,注意不要加引號 如下面例子中的is ke...