我有一个评论字段,用于存储网站上出售的商品的标题以及出价编号(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

09-25 21:31