亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
12下一頁(yè)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3510 | 回復(fù): 19
打印 上一主題 下一主題

MYSQL中怎么得到自增字段的相臨值? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2006-12-15 11:18 |只看該作者 |倒序?yàn)g覽
假設(shè)我有一個(gè)名為ID的自增字段,我取到一個(gè)值N,我想得到N前面與后面的ID值最好用什么辦法?

不能用簡(jiǎn)單的N-1與N+1,因?yàn)榇嬖趧h除操作,所以ID不一定是連續(xù)的。

論壇徽章:
1
2015-2016NBA季后賽紀(jì)念章
日期:2016-06-28 17:44:17
2 [報(bào)告]
發(fā)表于 2006-12-15 11:59 |只看該作者
不懂,幫你頂!

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之水原三星
日期:2015-06-02 16:34:202015年亞冠紀(jì)念徽章
日期:2015-10-19 18:13:37程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-08 06:20:00
3 [報(bào)告]
發(fā)表于 2006-12-15 15:38 |只看該作者
select id from table where id>(or <) someid limit 1;

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2006-12-15 17:58 |只看該作者
謝樓上兩位,我已經(jīng)解決了~~

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之水原三星
日期:2015-06-02 16:34:202015年亞冠紀(jì)念徽章
日期:2015-10-19 18:13:37程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-08 06:20:00
5 [報(bào)告]
發(fā)表于 2006-12-15 18:14 |只看該作者
說(shuō)說(shuō)你的方法

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2006-12-19 11:01 |只看該作者
原帖由 xinglp 于 2006-12-15 18:14 發(fā)表
說(shuō)說(shuō)你的方法


先說(shuō)說(shuō)目的吧:要做一個(gè)類似文章顯示的東西,顯示當(dāng)前文章時(shí)要有上一篇下一篇的連接,所以有此需求。

我現(xiàn)在做的是直接先去查詢當(dāng)前ID+1和ID-1的數(shù)據(jù)。如果為空的話再進(jìn)一步判斷:

在查詢ID-1的時(shí)候,如果為空,先判斷是不是小于1了,是的話返回空,如果不是則調(diào)用函數(shù)自身,繼續(xù)查詢ID-1。

查詢ID+1的時(shí)候類似,先直接查詢ID+1,返回結(jié)果為空的話在判斷是否大于當(dāng)前最大的ID,如果不是則遞歸。

這樣,在絕大多數(shù)情況下都只需要最少的查詢。

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2006-12-19 13:36 |只看該作者
就這個(gè)問(wèn)題還要用到遞歸?
不就兩個(gè)查詢搞定

SELECT id AS preid FROM somewhere WHERE id < someid ORDER BY id DESC LIMIT 1;
SELECT * FROM somewhere WHERE id >= preid ORDER BY id ASC LIMIT 3;

至于判斷首尾,那是程序的事,別把數(shù)據(jù)庫(kù)當(dāng)上帝

[ 本帖最后由 Namelessxp 于 2006-12-19 13:39 編輯 ]

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2006-12-19 14:02 |只看該作者
原帖由 Namelessxp 于 2006-12-19 13:36 發(fā)表
就這個(gè)問(wèn)題還要用到遞歸?
不就兩個(gè)查詢搞定

SELECT id AS preid FROM somewhere WHERE id < someid ORDER BY id DESC LIMIT 1;
SELECT * FROM somewhere WHERE id >= preid ORDER BY id ASC LIMIT 3; ...


是你在把數(shù)據(jù)庫(kù)當(dāng)上帝了,我的方法在絕大多數(shù)情況下只用一次查詢的。而你的呢?在所有情況下都要兩次查詢。還要判斷首尾,我的只在第一次查詢?yōu)榭盏那闆r下才會(huì)發(fā)生后面的情況,而這樣的情況是很少發(fā)生的。你是高手,但是眼高手低,SORRY~~

你根本沒(méi)看清楚情況。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2006-12-19 14:07 |只看該作者
對(duì)了,我需要補(bǔ)充的一點(diǎn)。

我的數(shù)據(jù)庫(kù)哲學(xué)是,數(shù)據(jù)庫(kù)只是一個(gè)存放數(shù)據(jù)的地方,運(yùn)算工作應(yīng)盡量交由程序處理。

這就是為什么在做無(wú)限分類時(shí),有的人喜歡用遞歸需要N次查詢,而有的人則只是在表里面加了幾個(gè)字段只需要一次查詢。

所以你說(shuō)的什么“別把數(shù)據(jù)庫(kù)當(dāng)上帝”請(qǐng)不要針對(duì)我。

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:172015亞冠之水原三星
日期:2015-06-02 16:34:202015年亞冠紀(jì)念徽章
日期:2015-10-19 18:13:37程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-11-08 06:20:00
10 [報(bào)告]
發(fā)表于 2006-12-19 15:52 |只看該作者
原帖由 笨狼追風(fēng) 于 2006-12-19 14:07 發(fā)表
對(duì)了,我需要補(bǔ)充的一點(diǎn)。
我的數(shù)據(jù)庫(kù)哲學(xué)是,數(shù)據(jù)庫(kù)只是一個(gè)存放數(shù)據(jù)的地方,運(yùn)算工作應(yīng)盡量交由程序處理。
這就是為什么在做無(wú)限分類時(shí),有的人喜歡用遞歸需要N次查詢,而有的人則只是在表里面加了幾個(gè)字 ...


多數(shù)情況下需要的不是簡(jiǎn)單相鄰的id,而是在限制條件下的相鄰值,就拿這個(gè)論壇的相鄰貼跳轉(zhuǎn)來(lái)說(shuō)吧,看看鏈接地址就知道了,

不要一味的否定別人

[ 本帖最后由 xinglp 于 2006-12-19 16:01 編輯 ]
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP