解決創(chuàng)建主鍵報錯:Incorrect column specifier for column id問題
創(chuàng)建主鍵報錯
Incorrect column specifier for column‘id’
mysql使用語句創(chuàng)建表將一個字段屬性設(shè)置主鍵時,該字段的類型只能是int類型的,varchar類型的會報錯
測試代碼:
CREATE TABLE t_user( id INT PRIMARY KEY AUTO_INCREMENT, -- id VARCHAR(10) PRIMARY KEY AUTO_INCREMENT, -- 會報錯,這樣寫的話 -- 報錯信息:Incorrect column specifier for column 'id' usernmae VARCHAR(10), pwd VARCHAR(32), sex VARCHAR(4), age INT, phone VARCHAR(18), email VARCHAR(32), idcard VARCHAR(32), addr VARCHAR(32) ); DROP TABLE IF EXISTS t_user;
非要使用varchar的話
但是可以通過在SQLyog里面通過右鍵改變表可以修改為varchar類型的
測試是否可以添加代碼:
INSERT INTO t_user VALUES('sasax','張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路'); /* 添加成功 1 queries executed, 1 success, 0 errors, 0 warnings 查詢:insert into t_user values('sasax','張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路') 共 1 行受到影響 執(zhí)行耗時 : 0 sec 傳送時間 : 0 sec 總耗時 : 0 sec */
測試是否還可以自動增長:
結(jié)論:不能,如果將主機(jī)id設(shè)置為default或者是null都不能添加成功
測試代碼:
INSERT INTO t_user VALUES(DEFAULT,'張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路'); INSERT INTO t_user VALUES(NULL,'張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路'); /* 報錯 1 queries executed, 0 success, 1 errors, 0 warnings 查詢:insert into t_user values(default,'張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路') 錯誤代碼: 1364 Field 'id' doesn't have a default value */
INSERT INTO t_user VALUES('sas','張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路'); /* 成功 1 queries executed, 1 success, 0 errors, 0 warnings 查詢:insert into t_user values('sas','張三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路') 共 1 行受到影響 執(zhí)行耗時 : 0 sec 傳送時間 : 0 sec 總耗時 : 0 sec */
結(jié)論:主鍵id如果要設(shè)置為自增長,最好還是使用int類型
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
CentOS7版本安裝Mysql8.0.20版本數(shù)據(jù)庫的詳細(xì)教程
這篇文章主要介紹了CentOS7版本安裝Mysql8.0.20版本數(shù)據(jù)庫的教程,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05DataGrip連接Mysql并創(chuàng)建數(shù)據(jù)庫的方法實現(xiàn)
本文主要介紹了DataGrip連接Mysql并創(chuàng)建數(shù)據(jù)庫的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02mysql慢查詢?nèi)罩痉治龉ぞ呤褂?pt-query-digest)
這篇文章主要介紹了mysql慢查詢?nèi)罩痉治龉ぞ呤褂?pt-query-digest),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12MySQL 數(shù)據(jù)庫對服務(wù)器端光標(biāo)的限制
從MySQL 5.0.2開始,通過mysql_stmt_attr_set() C API函數(shù)實現(xiàn)了服務(wù)器端光標(biāo)。服務(wù)器端光標(biāo)允許在服務(wù)器端生成結(jié)果集,但不會將其傳輸?shù)娇蛻舳耍强蛻舳苏埱筮@些行。2009-03-03