Mybatis執行插入語句,未使用定義的預設值

2021-09-25 06:43:27 字數 839 閱讀 5991

背景

系統中的某個實體表字段值為null時,其實表示的是無限大,但是當對其進行數量過濾時,又被過濾掉了,所以想給字段乙個很大的預設值來解決這個問題。

解決方法

update tb_discount set discount_count = 100000 where discount_count is null
alter table tb_discount modify column discount_count int(8) default 100000 comment '優惠券領取數量'
思考:資料庫預設值的使用場景是,當不對字段進行宣告插入時,即使用預設值插入。

我用的是mybatis,插入語句如下:

insert into tb_discount(

id,

draw_cycle,

discount_count,

customer_flag,

user_max_count,

putaway_flag,

discount_use_flag,

discount_grant_flag

) values (

#,#,

#,#,

#,#,

#,#,

# )

**原因找到了,insert語句是全欄位宣告式插入,所以即使某個欄位為空,它也不會使用資料庫中的預設值**
總結

python 執行插入語句

匯入sqlite驅動 import sqlite3 連線到sqlite資料庫 資料庫檔案是test.db 如果檔案不存在,會自動在當前目錄建立 conn sqlite3.connect test.db 建立乙個cursor cursor conn.cursor 執行一條sql語句,建立user表 c...

四 插入語句

向表中新增乙個新記錄,你要使用sql insert 語句。這裡有乙個如何使用這種語句的例子 insert mytable mycolumn values some data 這個語句把字串 some data 插入表mytable的mycolumn欄位中。將要被插入資料的字段的名字在第乙個括號中指定...

Mysql插入語句

方式一語法 insert into 表名 列名,values 值1,值要與列名對應1.插入的值型別要與列的型別一致或相容 insert into beauty id,name,borndate,phone,photo,boyfriend id values 13,肥清 女 1990 4 23 111...