[英]Get Previous and Next records in MYSQL with non-numeric ID
我正在尝试在PHP / MySQL中开发小型照片分类和存储系统。 目前,我的数据库结构如下:
CREATE TABLE `photos` (
`picid` varchar(36) NOT NULL,
`uploaded` varchar(10) NOT NULL,
`picdesc` text NOT NULL,
`views` bigint(20) NOT NULL,
`albumid` varchar(36) NOT NULL COMMENT 'fkey albums',
`uploadedby` varchar(50) NOT NULL COMMENT 'fkey users',
`exif` longtext NOT NULL,
`album_protected` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`picid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
picid
字段是用作主键的GUID。
我在创建SQL查询时需要帮助,该查询将返回传入的picid
之前的记录以及返回的下一个记录。 我想我将需要使用两个查询,但是也许有人可以告诉我。 记录按上uploaded
顺序排序,这是UNIX TIMESTAMP值。
希望能对您有所帮助! 如果您需要更多信息,请告诉我!
给它一个auto_increment整数字段作为主键,并将picid更改为唯一。 作为唯一,它将被索引,并且仍然可以用作查找。 但是,如果要在行中排序,则需要一个auto_increment字段,并且这些字段必须是MySql中的主键。
CREATE TABLE `photos` (
`rowid` int auto_increment primary key,
`picid` varchar(36) NOT NULL UNIQUE,
`uploaded` varchar(10) NOT NULL,
`picdesc` text NOT NULL,
`views` bigint(20) NOT NULL,
`albumid` varchar(36) NOT NULL COMMENT 'fkey albums',
`uploadedby` varchar(50) NOT NULL COMMENT 'fkey users',
`exif` longtext NOT NULL,
`album_protected` tinyint(1) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.