mysql+add+enum_关于MySql的Enum的问题

` sex ENUM('1','0','-1')  NOT NULL DEFAULT '-1' `

本来是填写男女和保密的,但是使用单引号还是双引号都是无法创建成功这个表,报错的条目就是这条。我改成这样

0 1 -1

就可以使用,

这边想问一下是否可以设置成

sex ENUM('男','女','保密')  NOT NULL DEFAULT '保密'

就是直接数据库保存的数据默认选项Enum是中文的 如果可以,要怎么写呢?

完全没有问题,楼主检查一下当前表的字符集,设定为

utf8

设置数据库db_name默认为utf8:

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

设置表tb_name默认编码为utf8:

ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

另外您在建表时细心点看看是不是被什么东西混进来了哦

mysql> ALTER TABLE content ADD sex ENUM('男','女','保密') NOT NULL DEFAULT '保密';

Query OK, 0 rows affected (0.14 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc content;

+----------------------+----------------------------+------+-----+---------+----------------+

| Field                | Type                       | Null | Key | Default | Extra          |

+----------------------+----------------------------+------+-----+---------+----------------+

| id                   | int(11) unsigned           | NO   | PRI | NULL    | auto_increment |

| depth                | int(11)                    | YES  |     | NULL    |                |

| url                  | varchar(200)               | YES  |     | NULL    |                |

| article_title        | varchar(20)                | YES  |     | NULL    |                |

| article_headimg      | varchar(150)               | YES  |     | NULL    |                |

| article_author       | varchar(20)                | YES  |     | NULL    |                |

| article_content      | text                       | YES  |     | NULL    |                |

| article_publish_time | int(10)                    | YES  |     | NULL    |                |

| sex                  | enum('男','女','保密')      | NO   |     | 保密    |                |

+----------------------+----------------------------+------+-----+---------+----------------+

你这种写法并没有什么问题,你要看下你的字符集设置

应该没什么问题,看一下字符集,不要乱码就好了,但是存的话还是建议用数字

完全没有问题,enum设置好以后,跟字符串处理基本一样

建议直接用tinyint

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值