MySql enum字段使用问题
来源:互联网 发布:数据流量设置dns 编辑:程序博客网 时间:2024/05/29 18:53
今天在对mysql数据库一张表进行query操作时遇到一个问题,原因竟然是因为表中使用了enum字段,特此记录之。
mysql中使用enum字段设置字段的区间范围,让数据库很好地控制字段的值,但是也有他的弊端,如数据迁移的时候几乎不可能被其他数据库所支持以及接下来笔者想要说明的问题。
1.首先新建一张表,这里用了两个enum字段,flag与flag2
CREATE TABLE `wTest` (
`num` int(11) default NULL,
`stu_name` varchar(20) default NULL,
`flag` enum('0','1','2','3','4') NOT NULL,
`flag2` enum('6','7','8','9') default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
2.插入数据,select得:
3.select/update/insert操作
select * from wTest where flag=4,结果:
这里flag变成了3? why?原因是这里where条件的flag=4被当成enum枚举字段的索引了,`flag` enum('0','1','2','3','4') ,因为枚举索引是从1开始的,so index=4时flag=3. 若想要查找flag=4的数据,则只需在where条件中将枚举字段值加上单引号,即' '。
select * from wTest where flag='4',结果:
为了避免不必要的麻烦最好不要使用enum字段,今天也是弄了好久,后面desc tablename才发现有个enum字段,之前的select语句都没加上' ',(⊙﹏⊙)b
- MySql enum字段使用问题
- MySql enum字段使用问题
- mysql enum类型字段
- 慎用mysql的enum字段
- 慎用mysql的enum字段
- Nhibernate中使用enum字段
- mysql 字段类型总结----decimal,alter,enum
- 关于Mysql的Enum和Set字段类型
- 关于mysql中enum数据字段类型的一些想法!!
- mysql 查询使用*和具体字段的问题
- mysql timestamp 字段使用
- mysql-enum
- protobuf 使用enum时的问题
- PHP显示Mysql字段问题
- mysql字段长度的问题
- MySQL timestamp字段插入问题
- mysql 时间字段类型使用
- enum使用
- 创建/导入maven项目时 eclipse默认jdk版本配置
- android 群英传笔记----Android scroll
- IOS 七种手势详解(动图+Demo下载)
- C/Cplusplus
- 在Thinkpad中设置电池管理阈值
- MySql enum字段使用问题
- MMORPG游戏设计学习笔记·乱斗西游体验分析&手游设计理解
- 归纳事件的绑定
- 如何用Java调用R(包含在服务器安装的过程)以及用R生成的图片如何用<img>标签访问
- POJ 1503 Integer Inquiry
- hello world
- mybatis学习
- LabTalk 编程第三章-- 函数库1(常用部分)
- 51nod 1097 拼成最小的数 (排序)