Mic*_*ico 0 php mysql database select
我的MySQL表中有一列.列名称为"attached_products",现在,例如我在那里有一些记录,且attachment_products的值为"1,16,164,1645",如何选择"16"的所有记录?
我尝试了where子句,它类似于:
select * from websites where attached_products like '%16%'
Run Code Online (Sandbox Code Playgroud)
但它也选择164和21645的记录.
谢谢你的帮助!:)
因为你使用的数据库设计不好,你可以使用,就像你说的那样:
SELECT * FROM `websites` WHERE (`attached_products` LIKE '%,16,%' OR `attached_products` LIKE '16,%' OR `attached_products` LIKE '%,16' OR `attached_products`='16');
Run Code Online (Sandbox Code Playgroud)
但您应该考虑重新设计数据库以便于选择.您可以添加另一个表,只包含那些附加的产品,例如:
table 1
id | etc ... | etc .... |
attached_products
id | id_product | product
Run Code Online (Sandbox Code Playgroud)
其中id_product来自表1,product是产品ID
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |