Torna indietro   Hardware Upgrade Forum > Software > Programmazione

 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP
OPPO ha appena lanciato sul mercato la nuova serie Find X10, che ha come smartphone premium il Find X10 Pro Max, uno smartphone completo, che fa del comparto fotografico il suo vero punto di forza. Ma sono tante le novità, tra cui l'AI che adesso diventa agentica. Ma andiamo a vedere nel dettaglio questo nuovo smartphone.
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato
Abbiamo provato la beta di World of Warcraft: Forever, il Classic+ di Blizzard in arrivo il 4 novembre: la nuova razza Skyborne restituisce la sensazione di un gioco nuovo, ma le zone storiche conservano la noia divertita di Classic. Classi ribilanciate, sciamani anche nell'Alleanza e un motore grafico che in 4K gira bene anche su una RTX 3070. Cosa cambia in Forever? La risposta nell'articolo
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita
TCL P80 Ultra abbina per la prima volta un pannello AMOLED alla tecnologia NXTPAPER con finitura opaca, affiancandoci una fotocamera periscopica da 50 MP con zoom ottico 3x, il SoC Dimensity 7400 Elite e una batteria da 5.800 mAh. Nella prova sul campo emergono luminosità di picco molto elevata, comparto fotografico solido per la fascia di prezzo e autonomia nella media, a fronte di velocità di scrittura dello storage piuttosto contenute
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-11-2007, 13:57   #1
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
[MySQL] Trovare il risultato successivo

ho una tabella fatta così:

| CRC32 | DATI |
|----------|------------ |
|12345678 | ciaociao |
|63712637 | pincopallino |
|89839393 | aaaabbbb |
---------------------------

L'applicazione che sto facendo usando le C API di mysql ha un loop dove deve
elaborare un rigo alla volta. Ogni ciclo potrebbe aggiungere nuovi valori alla tabella. Mi servirebbe un modo per fare questo:

while (ci sono ancora righe da elaborare) {
pesca nuova riga da elaborare;
Elaborala;
}

Non posso usare un ID con l'autoincrement prtchè CRC32 deve essere la chiave primaria, ma se c'è un valore che si autoincrementa la chiave primaria deve essere per forza quella.

Qualcuno sa come si fa a fare 'pesca nuova riga da elaborare;' ?
Grazie

Ultima modifica di das : 11-11-2007 alle 14:05.
das è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 08:38   #2
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
ma un cursore no ?
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 08:41   #3
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
altrimenti (se ho capito bene ... lunedì mattina ho bisogno di qualche ora )
puoi fare un;

Codice:
order by CRC32
having CRC32 > ulitmo_CRC32_letto
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 10:54   #4
lattone
Member
 
L'Avatar di lattone
 
Iscritto dal: Sep 2001
Città: pisa
Messaggi: 70
Esattamente come hai scritto tu

usando la documentazione http://dev.mysql.com/doc/refman/5.0/en/apis.html diventa.....

Codice:
while (riga = mysql_fetch_row(result))
    printf("%s\n",riga[i]);
{
lattone è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:06   #5
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Quote:
Originariamente inviato da lattone Guarda i messaggi
Esattamente come hai scritto tu

usando la documentazione http://dev.mysql.com/doc/refman/5.0/en/apis.html diventa.....

Codice:
while (riga = mysql_fetch_row(result))
    printf("%s\n",riga[i]);
{
No perchè i dati si possono aggiungere ad ogni ciclo, per cui per essere sicuro che siano tutti dovrei fargli fare la ricerca da capo ogni volta.
Inoltre questo potrebbe caricare in Ram di più informazioni di quante questa possa contenere.

Non posso ordinare neppure per crc perchè i dati aggiunti in ogni ciclo non è detto che abbiano un crc più alto di quelli che ho già elaborato per cui rischierei di saltare qualche riga.

Ora guardo su google cosa sono i cursori, dal nome sento che fanno al caso mio
das è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:08   #6
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Perche nn fai un trigger sull INSERT
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:12   #7
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Cosa vuol dire ?
das è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:17   #8
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
A livello di database puoi impostare determinate azioni al verificarsi di un evento (INSERT,UPDATE,DELETE) quindi se la tua esigenza è elaborare l'ultima riga inserita puoi impostare un trigger che all'insert di una nuova riga faccia le sue elaborazioni sulla stessa.
Spero di essere stato chiaro
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:24   #9
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
c'è qualcosa che non va ... se ad ogni fetchata potrebbe inserire, è un ciclo infinito. O sbaglio ?
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:26   #10
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Dice che ogni ciclo "potrebbe" inserire, ma bisogna capire bene che deve fare effettivamente
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:29   #11
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
Quote:
Originariamente inviato da isAlreadyInUse Guarda i messaggi
Dice che ogni ciclo "potrebbe" inserire, ma bisogna capire bene che deve fare effettivamente
già ... anche io stavo pensando ad un trigger ma dipende da cosa deve fare col dato inserito.
Altrimenti, se c'è in MySQL come in Oracle, un CURSOR FOR INSERT ma a me personalmente non piace.
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 12-11-2007, 15:34   #12
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Stiamo a vedere se ci da qualche indicazione in piu
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 13-11-2007, 10:18   #13
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1392
Il problema non era elaborare l'ultima soluzione inserita, ma quella successiva all'ultima elaborata. Comunque sono riuscito a trovare la soluzione, è banale ma non ci avevo pensato fino a quando non ho notato che phpmyadmin fa vedere le righe a 30 alla volta, ogni volta partendo dalla successiva all'ultima della pagina precedente.

LIMIT x,1

dove x viene incrementato di 1 in 1.

Non so se la soluzione è la più veloce possibile, ma intanto funziona.

Grazie, ciao
das è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2007, 10:28   #14
Player1
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 1370
Salve, scusate se mi intrufolo in questa discussione ma anch'io ho un problema con gli Id di mysql quindi per evitare di aprire decine di nuove discussioni che trattano di cose simili mi sono inserito qui.
Il mio problema è molto molto più semplice da risolvere, sono ancora inesperto, quindi scusate se la domanda è stupida
Devo fare una tabella senza chiave primaria nei campi che mi interessano quindi avrei bisogno che fosse mysql ad inventarsi una chiave per ogni inserimento.
Da quello che ho capito l'unico modo per fare ciò è quello di mettere un semplice indice con autoincremento per identificare le righe.
Ho però il seguente dubbio legato a questo meccanismo, se ogni volta che inserisco una riga l'indice si incrementa di uno non succede che prima o poi si arriverà ad un overflow?
Es:
All'inizio ho 3 righe con id rispettivamente 1,2,3
Cancello la 2 ed inserisco la nuova ottengo 1,3,4
cancello la 3 e ne inserisco un'altra ottengo 1,4,5
e così via..
Alla fine per sole 3 righe arrivo a dei numeri di id altissimi fino ad un overflow.

A me non interessa che le righe siano ordinate, mi interessa solo inserire un identificatore univoco per ogni riga.
Es:
All'inizio ho 3 righe con id rispettivamente 1,2,3
Cancello la 2 ho 1,3
inserisco una nuova riga ho 1,2(la nuova riga assume il primo valore disponibile),3

Ovviamente anche se gli id creati da Mysql fossero diversi da semplici numeri (ad esempio stringhe incomprensibili tipo "907ahyp" purchè logicamente univoche) per me andrebbe bene.

C'è qualche soluzione che consenta di sfruttare una funzione automatica di Mysql senza dover per forza fare la scansione di tutti gli id in php e creare una funzione che si inventi un nuovo id univoco?

Grazie in anticipo per le risposte
Player1 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2007, 10:34   #15
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Quanti milioni di record prevedi che vengano iseriti?
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2007, 10:37   #16
trallallero
Senior Member
 
L'Avatar di trallallero
 
Iscritto dal: May 2006
Città: Wursteland
Messaggi: 1749
secondo me non esiste. Mi sa che te la devi fare da solo la funzione in un TRIGGER.
Comunque non mi preoccuperei più di tanto dell'overflow, è superiore a 2100000000
__________________
Nintendo WIII 4d Turbo Intercooler - Sestium X 666 99,312 GHz - 6.984 Ram Σ(9999) MHz - HDD SATA 97e^(10) bytes 93³ rpm - ATI biberon X900z ∞Mb - Win Eight SP (1 > yours) 16 Valve
trallallero è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2007, 10:39   #17
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Dipende dal tipo specificato per il campo da incrementare, un BIGINT è abbondante 18.446.744.073.709.551.615
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2007, 10:59   #18
Player1
Senior Member
 
Iscritto dal: Feb 2002
Messaggi: 1370
Ok allora utilizzerò la soluzione dell'indice con autoincremento.
In realtà non credo si raggiungerà mai l'overflow era giusto per una questione di "eleganza" nella progettazione, ma effettivamente se non ci sono altri metodi a parte quello di creare un trigger con una funzione apposita userò l'autoincremento.
Grazie per le risposte e per la rapidità con cui mia avete risposto!
Buona giornata!
Player1 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
TCL P80 Ultra: con un display AMOLED opaco è una gioia per gli occhi e per le dita TCL P80 Ultra: con un display AMOLED opaco &egra...
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
L'Air Force Research Laboratory ha utili...
L'ONU esprime preoccupazione per le oper...
OpenAI: GPT-6.1 Sol migra il COBOL all'8...
Cyberpunk 2077 porta le mod su console e...
Agenti di IA, per Akamai la sicurezza pa...
Non solo in Europa: Apple dovrà a...
iPhone Duo, il compromesso del display p...
Reolink OMVI 2i Ultra, la videocamera ib...
PowerToys 0.102: con un nuovo tool il mo...
Bose acquisisce Skullcandy per raggiunge...
I videogiochi di Star Wars dovranno sorp...
Cos'è Flint: l'AI locale per la programm...
Perplexity Computer ora gira offline sul...
LG lancia in Italia i nuovi laptop gram ...
Spotify dice addio ai vincoli di Android...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:21.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v