[英]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.