Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Query e dati serializzati

    Buongiorno e Buon anno a tutti,

    è possibile direttamente da una query controllare che un dato valore sia presente in un campo che contiene un array serializzato, devo eseguire questo controllo direttamente nella query perchè il dato è necessario al fine della query stessa.

    Grazie

    SK

  2. #2
    Aggiungi un campo alla tabella con il valore che ti serve.

    Salvare valori multipli all'interno di un singolo campo viola le regole di normalizzazione.

  3. #3
    Non ho mica capito sai

    Tu dici che non devo serializzare i dati?

  4. #4
    beh, decisamente non conviene serializzare i dati, conviene piuttosto aggiungere N colonne, se sai a priori quanti sono, oppure creare una tabella ad hoc strutturata con chiave/valore se il loro numero può cambiare

    poi, ovviamente, non è sempre possibile/comodo farlo e pazienza, si normalizza, ma non è sicuramente la scelta migliore ^^

  5. #5
    Originariamente inviato da daniele_dll
    beh, decisamente non conviene serializzare i dati, conviene piuttosto aggiungere N colonne, se sai a priori quanti sono, oppure creare una tabella ad hoc strutturata con chiave/valore se il loro numero può cambiare

    poi, ovviamente, non è sempre possibile/comodo farlo e pazienza, si normalizza, ma non è sicuramente la scelta migliore ^^
    Morale: la comodìtà di serializzare non si puo' usare!

    Pensavo non fosse così problematico, in fondo devo solo prendere il valore, deserializarlo, e con un banale "in_array", controllare se il tal valore è compreso nei valori dell'array.

    @Ciao Dany

  6. #6
    lo puoi fare ancora più velocemente con una semplice query

  7. #7
    Originariamente inviato da daniele_dll
    lo puoi fare ancora più velocemente con una semplice query
    La domanda era proprio quella...come faccio ad innestare in una query questa clausola.

    AND (se valore1 è contenuto nell'array deserializzata che ho preso dal campo della tabella)

    ?

  8. #8
    non puoi farlo se l'array è serializzato ... ma se l'array non è serializzato lo fai con una semplice query ^^

    farlo con un array serializzato sarebbe abbastanza complesso, l'unico modo è che fai un'espressione regolare che cerca non tanto il valore ma la parte di codice serializzato che ti interessa

    ma ti ripeto ... non è una bella idea perché è una query, come puoi immaginare, massacrante ^^

  9. #9
    si abbasatanza...

    visto che sono gli unici dati che avevo deciso di serializzare, vedo di cavarmela con un banale if nel ciclo dei risultati.

    Grazie di tutto

    SK

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.