我有一个mysql数据库,其中存储了error_code和error_type。
每个Error_type都可以将多个error_code存储为逗号分隔。
这是一张表
id error_code error_type
1 300,200,444拼写
2 333,310 grammer
如图所示;拼写有3个error_code
问题:如果error_code只有300或200或444(在文本框中只输入1个错误代码),如何查询获取error_type
如果需要任何信息或者不清楚,请告诉我.tnx
编辑:
我需要一个明确的error_type
答案 0 :(得分:2)
您可以使用regexp:
select * from test
where error_code REGEXP '(^444,|,444$|,444,|^444$)'
这将确保444
存在于开头,结尾或两个逗号之间;它将不匹配444
在另一个数字内的字符串。例如,1,2,34445,6
将不匹配。
答案 1 :(得分:0)
您可以使用like
select error_type from table where error_code like '%300%'
或
select error_type from table where error_code like '%444%'