如图,想要查询字段 type_sid 中带有 gys 的所有记录
要怎么写的优雅,查询的准确。
还有是不是这种设计不太合理?要使用主从表更好 ?
这样设计其实挺不合理的,弄个中间表这样查询比较自然和符合逻辑
iid | type_sid |
---|---|
1 | kh |
1 | gys |
这样查询就直接select type_sid from a where iid = 1
这样直接查询就行了
4 回答1.5k 阅读✓ 已解决
8 回答1.3k 阅读
3 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.9k 阅读
2 回答1.7k 阅读
1 回答907 阅读✓ 已解决
SELECT * FROM contact_company WHERE FIND_IN_SET('gys',type_sid);
这样用不上索引啊..
如果你这个类型比较少,就在这个表里,每个类型一个标志位来记录.
如果你的这个类型比较多的话,还是加个类型表和一个中间多对多的关系表来处理.
又或者存储 bit 类型,每个 bit 位代表一个类型,然后用位计算来判断.