我有一个评论字段,用于存储网站上出售的商品的标题以及出价编号(bid_id)。不幸的是,bid_id并未单独存储在该表中。
例如,我要查询数字(bid_id)大于4,000的项目。
所以,我有:
select * from mysql_table_name where comment like '< 4000'
我知道这行不通,但是我需要类似的东西。
非常感谢!
最佳答案
只需清理您的bid_id列即可。然后索引是。
create table `prior`
( id int auto_increment primary key,
comments text not null
);
insert `prior` (comments) values ('asdfasdf adfas d d 93827363'),('mouse cat 12345678');
alter table `prior` add column bid_id int; -- add a nullable int column
select * from `prior`; -- bid_id is null atm btw
update `prior` set bid_id=right(comments,8); -- this will auto-cast to an int
select * from `prior`;
+----+-----------------------------+----------+
| id | comments | bid_id |
+----+-----------------------------+----------+
| 1 | asdfasdf adfas d d 93827363 | 93827363 |
| 2 | mouse cat 12345678 | 12345678 |
+----+-----------------------------+----------+
创建索引:
CREATE INDEX `idxBidId` ON `prior` (bid_id); -- or unique index