數(shù)據(jù)庫null值什么意思 數(shù)據(jù)庫字段設(shè)置可以為空,插入數(shù)據(jù)就會(huì)有
數(shù)據(jù)庫字段設(shè)置可以為空,插入數(shù)據(jù)就會(huì)有如果此字段是字符類型,則在插入時(shí)插入“”(即,插入一個(gè)值,并且該值為空),則此部分將為空。如果要保留為空,請(qǐng)使用默認(rèn)值。不要在insert語句中添加此字段,請(qǐng)?zhí)^
數(shù)據(jù)庫字段設(shè)置可以為空,插入數(shù)據(jù)就會(huì)有
如果此字段是字符類型,則在插入時(shí)插入“”(即,插入一個(gè)值,并且該值為空),則此部分將為空。如果要保留為空,請(qǐng)使用默認(rèn)值。不要在insert語句中添加此字段,請(qǐng)?zhí)^它。
mysql數(shù)據(jù)庫默認(rèn)字段值是不是都要設(shè)置成not null?
有默認(rèn)值,當(dāng)然,它被設(shè)置為不為空。能夠盡可能不空。即使為了盡可能避免碎片化,如果進(jìn)行優(yōu)化,甚至有必要將非空字段提前到空字段,但這會(huì)影響程序的可讀性和編碼復(fù)雜度。
數(shù)據(jù)庫涉及到金額的字段到底要不要給默認(rèn)值能不能默認(rèn)null?
這個(gè)問題不應(yīng)該是技術(shù)和產(chǎn)品之間的競爭。相反,我認(rèn)為應(yīng)該從兩個(gè)方面來考慮:一是從技術(shù)的角度考慮理性,二是滿足需求。
首先,無論用戶是否填寫運(yùn)費(fèi)字段,在計(jì)算價(jià)格時(shí)一定要加上總價(jià)。所以從技術(shù)上講,null和0之間似乎沒有太大的區(qū)別。但是,從數(shù)據(jù)庫的角度來看,一般不建議使用null作為字段的默認(rèn)值,特殊情況除外。因?yàn)槭褂胣ull作為字段值可能會(huì)帶來一些問題。例如,對(duì)包含空值的列執(zhí)行計(jì)數(shù)統(tǒng)計(jì)不會(huì)得到空值。例如,在執(zhí)行否定查詢時(shí),不能獲取空值。還有很多問題。所以當(dāng)使用null作為數(shù)據(jù)庫值時(shí),我們應(yīng)該考慮它是否會(huì)影響實(shí)現(xiàn)。
其次,從需求的角度來看,如果需求確實(shí)需要區(qū)分用戶沒有填寫的情況和填寫為0的情況,前提是有合理的理由,比如需要避免出現(xiàn)問題時(shí)與用戶發(fā)生爭執(zhí)的風(fēng)險(xiǎn),那么在這種情況下,前提應(yīng)該是滿足需求。當(dāng)然,滿足要求只意味著產(chǎn)品設(shè)計(jì)最終能夠?qū)崿F(xiàn),要實(shí)施的技術(shù)方案還需要技術(shù)人員考慮,因?yàn)樵诤芏嗲闆r下,一個(gè)問題不僅僅是零或者0,還可能影響到其他地方。技術(shù)人員不得無故否定產(chǎn)品設(shè)計(jì),產(chǎn)品人員不得過多參與技術(shù)方案。
最后,如果我想實(shí)現(xiàn)這個(gè)要求,我可以設(shè)置運(yùn)費(fèi)字段為0,但我需要添加一個(gè)標(biāo)識(shí)位來判斷是否設(shè)置它。這樣,我就不需要在價(jià)格計(jì)算中處理空值,同時(shí)也可以滿足要求。如果以后需要做其他相關(guān)的統(tǒng)計(jì),可以避免一些不必要的問題。