有一段时间了解了enum这个数据类型,感觉结构清晰,容易规范等优点,遂用之。
然而php使用了这个类型出现了问题。
我设置了三个状态值status,分别为0,1,2。
当我查询状态status=1时,总是返回status=0的结果。仔细看了下enum(‘0’,‘1’,‘2’)的位置,遂恍然大悟。
要查询status=1的结果,必须得写成status=‘1’。否则mysql会认为你想查enun的第一个值。
搞清楚了这一点,就赶紧把所有的enum都给改了tinyint,要不然不知道以后要因为这个问题造成多大的bug呢
mysql的enum类型之坑
最新推荐文章于 2022-08-05 21:21:29 发布