MySQL數(shù)據(jù)庫主鍵的數(shù)據(jù)類型中的錯誤
今天我們要和大家一起探討的是MySQL數(shù)據(jù)庫主鍵(自動增加)的數(shù)據(jù)類型所帶來的一些錯誤問題,如果你在實(shí)際操作中出現(xiàn)了以下文中所示的問題說明你所執(zhí)行的任務(wù)over了。以下就是文章的主要內(nèi)容。
前段時間在做一個網(wǎng)站時,使用了MySql數(shù)據(jù)庫,并使用 EMS MySQLManager 來創(chuàng)建和管理數(shù)據(jù)庫,其中有一個表有一個自增的MySQL數(shù)據(jù)庫主鍵id,因?yàn)镋MS MySQLManager創(chuàng)建表時默認(rèn)的自增類數(shù)據(jù)類型為TinyInt,剛開始也沒有注意到這個問題。直到今天發(fā)現(xiàn)怎么也不能往數(shù)據(jù)庫中插入數(shù)據(jù)。
錯誤原因是id列中值127的記錄已經(jīng)存在!檢查了一下數(shù)據(jù)庫,果然存在,但是id列明明是自增的,我又沒有在insert 語句中指定id列的值,為什么會出現(xiàn)這個問題呢?
檢查了一下數(shù)據(jù)庫,發(fā)現(xiàn)id列的數(shù)據(jù)類型為tinyint,然后又想怎么會是127 (128-1)這么特別的數(shù)字呢?后來一想,是不是tinyint只能表示-127~127之間的數(shù)呢?結(jié)果我就把數(shù)據(jù)類型改為integer,一試果然沒有問題!
看來,選擇正確的數(shù)據(jù)庫數(shù)據(jù)類型還是很重要的。
以上的相關(guān)內(nèi)容就是對MySQL數(shù)據(jù)庫主鍵(自動增加)的數(shù)據(jù)類型所帶來的錯誤的介紹,望你能有所收獲。
【編輯推薦】