当前位置: 代码网 > it编程>编程语言>Asp.net > 解决创建主键报错:Incorrect column specifier for column id问题

解决创建主键报错:Incorrect column specifier for column id问题

2024年08月21日 Asp.net 我要评论
创建主键报错incorrect column specifier for column‘id’mysql使用语句创建表将一个字段属性设置主键时,该字段的类型只能是int类型的,

创建主键报错

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','北京路');


/* 添加成功
1 queries executed, 1 success, 0 errors, 0 warnings

查询:insert into t_user values('sasax','张三','123456','男',29,'1515465','szxz@as.com','1213231','北京路')

共 1 行受到影响

执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0 sec
*/

测试是否还可以自动增长:

结论:不能,如果将主机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','北京路');
/* 报错

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 行受到影响

执行耗时   : 0 sec
传送时间   : 0 sec
总耗时      : 0 sec
*/

结论:主键id如果要设置为自增长,最好还是使用int类型

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com