gpt4 book ai didi

php - 获取 MYSQL 中非数字 ID 的上一条和下一条记录

转载 作者:行者123 更新时间:2023-11-30 01:21:18 27 4
gpt4 key购买 nike

我正在尝试用 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;

关于php - 获取 MYSQL 中非数字 ID 的上一条和下一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18498031/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com