解決創(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-05
DataGrip連接Mysql并創(chuàng)建數(shù)據(jù)庫的方法實現(xiàn)
本文主要介紹了DataGrip連接Mysql并創(chuàng)建數(shù)據(jù)庫的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02
mysql慢查詢?nèi)罩痉治龉ぞ呤褂?pt-query-digest)
這篇文章主要介紹了mysql慢查詢?nèi)罩痉治龉ぞ呤褂?pt-query-digest),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12
MySQL 數(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

