Php 如何按列/字段值选择MySQL表中的行?
我有一个名为messages的表,它有一个名为(email)的字段,键入text。 例如,此字段值为(email@domain.com , example@any.net . notme@yahoo.com , me@yahoo.com). 以及使用登录时所需的内容(me@yahoo.com)仅显示值为的消息的步骤(me@yahoo.com). 如何使用mysql和php实现这一点Php 如何按列/字段值选择MySQL表中的行?,php,mysql,Php,Mysql,我有一个名为messages的表,它有一个名为(email)的字段,键入text。 例如,此字段值为(email@domain.com , example@any.net . notme@yahoo.com , me@yahoo.com). 以及使用登录时所需的内容(me@yahoo.com)仅显示值为的消息的步骤(me@yahoo.com). 如何使用mysql和php实现这一点 SELECT * FROM MESSAGES WHERE EMAIL = 'me@yahoo.com'; 但是电
SELECT * FROM MESSAGES WHERE EMAIL = 'me@yahoo.com';
但是电子邮件可能应该被编入索引,以避免必须扫描整个表才能找到匹配的行。键入TEXT
可能是不必要的。电子邮件的长度不可能超过100个字符,因此可以将类型设置为VARCHAR(100)
或类似
或者,假设每个用户都有一个id,那么最好通过user_id(也应该为其编制索引)将其删除:
其中USER_ID是您的用户表或等效表中的ID。谢谢Richard,但我的想法是避免构建另一个表来保存用户ID和依赖于一对多关系的消息,因此我认为这是有办法的。
SELECT * FROM MESSAGES WHERE USER_ID = ?;