解决创建主键报错:Incorrect column specifier for column id问题
短信预约 -IT技能 免费直播动态提醒
创建主键报错
Incorrect column specifier for column‘id’
mysql使用语句创建表将一个字段属性设置主键时,该字段的类型只能是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','北京路');
测试是否还可以自动增长:
结论:不能,如果将主机id设置为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','北京路');
INSERT INTO t_user VALUES('sas','张三','123456','男',29,'1515465','szxZ@as.com','1213231','北京路');
结论:主键id如果要设置为自增长,最好还是使用int类型
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网(www.lsjlt.com)。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341