mysql中使用enum,如何获取所有可能的值
enum
使用
mysql
获取
如何
所有
可能
定义
可以
字段
编程技术
发布日期
2022-08-30
更新日期
2022-08-30
阅读次数 76
文章字数 458
查询列定义
在 mysql 的 information_schema 表中记录了表的列定义,通过查询表的列定义,可以取得原定义内容
SELECT
column_type
FROM
information_schema. COLUMNS
WHERE
TABLE_SCHEMA = "数据库名"
AND DATA_TYPE = 'enum'
AND table_name="表明"
AND column_name="列名";
例如:
enum('个人博客','日常随笔','学习积累','隐私草稿')
可以发现,其实际是有一个 enum() 包裹的字符串,因其格式固定,仍可以被解析。
替代 enum 的思路
可以使用 int 作为字段,该字段可以当作索引
再定义一个表,用于对应字段的字符串值。
也就是通过两个字段,替代 enum 。(更加灵活)
当然,还有一个小技巧,就是把使用 int 作为字段名,把值写在字段描述里,通过以下方式获取:
SELECT
column_comment
FROM
information_schema.COLUMNS
WHERE
TABLE_SCHEMA = "数据库名"
AND DATA_TYPE = 'enum'
AND table_name="表名"
AND column_name="列名";
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-18.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。
enum
使用
mysql
获取
如何
所有
可能
定义
可以
字段
发表评论
相关推荐