Autore Topic: mysql  (Letto 4310 volte)

Offline zebmckey

  • Newbie
  • *
  • Post: 21
    • Mostra profilo
mysql
« il: 16 Luglio 2012, 22:56:25 »
Ciao gente avrei bisogno d'aiuto, non sono molto pratico di mysql in pratica ho una tabella -materiale-con id,materiale,quantità e un'altra tabella -distribuzione- con id,persona,quantità
Cosa vorrei che accadesse? che la quantità nella tabella materiale diminuisse quando inserisco la quantità nella tabella distribuzione.
Come posso fare? E' molto importante che io possa risolvere questo dilemma.
Grazie per il vostro prezioso aiuto.

Offline LonelyWolf

  • Moderator
  • Hero Member
  • *****
  • Post: 1396
    • Mostra profilo
    • Traversate dei laghi
Re: mysql
« Risposta #1 il: 17 Luglio 2012, 08:40:46 »
Premesso che questo problema non è legato a centos, la soluzione è semplice: quando fai la query che aumenta la quantità in distribuzione ne esegui un'altra che diminuisce quella in materiale.

Edit:
Dimenticavo, puoi eventualmente usare una "stored procedure"
« Ultima modifica: 17 Luglio 2012, 11:08:12 da LonelyWolf »

Offline smeserver

  • Hero Member
  • *****
  • Post: 1313
    • Mostra profilo
Re: mysql
« Risposta #2 il: 17 Luglio 2012, 15:29:10 »
Ciao gente avrei bisogno d'aiuto, non sono molto pratico di mysql in pratica ho una tabella -materiale-con id,materiale,quantità e un'altra tabella -distribuzione- con id,persona,quantità
Cosa vorrei che accadesse? che la quantità nella tabella materiale diminuisse quando inserisco la quantità nella tabella distribuzione.
Come posso fare? E' molto importante che io possa risolvere questo dilemma.
Grazie per il vostro prezioso aiuto.

non ci dici come sono legate le due tabelle

comunque, come ha detto loney, crei una stored procedure che:
- inserisca la riga nella tabella distribuzione
- effettui un update nella tabella materiale

è abbastanza banale, ma ti consiglio di rivolgerti a chi fa questo mestiere di lavoro e, contemporaneamente, di formarti su altri siti più indicati
qui si parla di centos, tu parli genericamente di query/stored procedures, ergo sql.. non è nemmeno legato a mysql, visto che i concetti sono generali e si applicano, con qualche sfumatura, a tutti i motori di db

Offline zebmckey

  • Newbie
  • *
  • Post: 21
    • Mostra profilo
Re: mysql
« Risposta #3 il: 17 Luglio 2012, 16:17:05 »
Grazie! purtroppo sono stao mooolto OT lo so, per questo chiedo scusa. Comunque la soluzione l'ho trovata su un forum dedicato e mi hanno consigliato di usare i trigger.
Ancora grazie.

Offline smeserver

  • Hero Member
  • *****
  • Post: 1313
    • Mostra profilo
Re: mysql
« Risposta #4 il: 17 Luglio 2012, 16:31:50 »
i trigger sono un'ottima cosa, ma se non li scrivi in modo acconcio vai a nrischio di avere risultati "bizzarri" :-)
in bocca al lupo

Offline LonelyWolf

  • Moderator
  • Hero Member
  • *****
  • Post: 1396
    • Mostra profilo
    • Traversate dei laghi
Re: mysql
« Risposta #5 il: 17 Luglio 2012, 18:16:47 »
i trigger sono un'ottima cosa, ma se non li scrivi in modo acconcio vai a nrischio di avere risultati "bizzarri" :-)
in bocca al lupo

concordo, proprio per questo ti (zebmckey) ho suggerito una stored procedure (che faccia entrambe le query con un unico parametro che passerai in chiamata): molto più semplice da creare (e se poi vai in debug molto più semplice da identificare! )