Non ho capito un gran che, però va bene.
Se hai risolto, metti [risolto] nel titolo del primo post.
database Mariadb
-
dani76
- Scoppiettante Seguace

- Messaggi: 269
- Iscrizione: giovedì 8 ottobre 2009, 11:52
- Distribuzione: Ubuntu 20.04 i686 LTS
- Sesso: Maschile
Re: database Mariadb
Un'ultima domanda. Io sto inserendo i dati nel db con il formulario. Ora riesco ad inserire il nome_ente non più il codice_ente per avere maggiore chiarezza per l'utonto di inserire dati. A questo punto il codice_ente (o id_utente) non viene popolato ma rimane record vuoto nella tabella. Siccome è chiave esterna della tabella, è corretto che il campo sia vuoto?
Esiste un modo che se inserisci in codice ente mi va ad inserisci automaticamente la descrizione nel successivo campo? O viceversa?
Esiste un modo che se inserisci in codice ente mi va ad inserisci automaticamente la descrizione nel successivo campo? O viceversa?
Re: database Mariadb
Se la chiave esterna rimane vuota (ovvero assume il valore NULL, se non sbaglio) significa che non riferisce a nessun dato dell'altra tabella.
Ciò è possibile a meno che non si specifichi la clausola `NOT NULL` alla variabile che è chiave esterna.
Ti faccio un esempio: la tabella `cane` ha un `id_padrone` che riferisce alla tabella `persone`, ma può essere NULL se il cane non ha padrone (è un esempio del cavolo, lo so. Ma sono le tre di notte).
Per quanto riguarda i campi che vengono popolati automaticamente, esiste la clausola AUTO_INCREMENT, ma non so se è ciò che ti serve.
Se un campo è specificato come AUTO_INCREMENT, non bisogna immetterlo insieme agli altri, ma verrà inserito automaticamente, ogni volta aumentando di uno il precedente.

Ciò è possibile a meno che non si specifichi la clausola `NOT NULL` alla variabile che è chiave esterna.
Ti faccio un esempio: la tabella `cane` ha un `id_padrone` che riferisce alla tabella `persone`, ma può essere NULL se il cane non ha padrone (è un esempio del cavolo, lo so. Ma sono le tre di notte).
Per quanto riguarda i campi che vengono popolati automaticamente, esiste la clausola AUTO_INCREMENT, ma non so se è ciò che ti serve.
Se un campo è specificato come AUTO_INCREMENT, non bisogna immetterlo insieme agli altri, ma verrà inserito automaticamente, ogni volta aumentando di uno il precedente.
-
dani76
- Scoppiettante Seguace

- Messaggi: 269
- Iscrizione: giovedì 8 ottobre 2009, 11:52
- Distribuzione: Ubuntu 20.04 i686 LTS
- Sesso: Maschile
Re: database Mariadb
Ok grazie. Esempio semplice natura efficace (pur alle 3 di notte). Se non inserisco il dato e al db non creò problemi, a me sta bene.
Non so se auto_increment possa andare. Quello che vorrei fare è che, scrivendo il nome dell'ente, esca, nel campo id_ente, il codice_ente che sarebbe poi la fk della tabella collegata. Oppure al contrario:inserendo l'id_ente, nel campo descrizione_ente esca il nome dell'ente.
Spero di essere stato chiaro.
Non so se auto_increment possa andare. Quello che vorrei fare è che, scrivendo il nome dell'ente, esca, nel campo id_ente, il codice_ente che sarebbe poi la fk della tabella collegata. Oppure al contrario:inserendo l'id_ente, nel campo descrizione_ente esca il nome dell'ente.
Spero di essere stato chiaro.
Re: database Mariadb
Sì, ora ho capito.
Non so come funziona in base, però da un linguaggio di programmazione qualsiasi avrei passato la stessa variabile alla query sql.
Prova a vedere se riesci ad associare ad una variabile ciò che leggi dal formulario (invece di inserirla direttamente nel db) e poi usare la stessa variabile due (o più) volte nel campo query.
Non so come funziona in base, però da un linguaggio di programmazione qualsiasi avrei passato la stessa variabile alla query sql.
Codice: Seleziona tutto
$v = <input dell'utente>
$query= "INSERT INTO tabella VALUES ($v, $v, 0, 0, $v)"
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti
