View Full Version : [SQL]Create Table
Gogeta ss4
02-07-2005, 20:53
Ciao a tutti, siccome ho sempre lavorato in access non so fare alcune cose
Sto facendo un progetto in php e mysql, e siccome dichiaro le tabelle da codice mi chiedevo come si fareccero tali cose con il create table:
1)Campo Memo (campo che ammette infiniti caratteri)
2)Campo chiave esterna che non ametta duplicati (mi serve per l'associazione 1->1)
per la 2) se non ricordo male devi dichiararlo UNIQUE
anonimizzato
03-07-2005, 10:47
Ciao a tutti, siccome ho sempre lavorato in access non so fare alcune cose
Sto facendo un progetto in php e mysql, e siccome dichiaro le tabelle da codice mi chiedevo come si fareccero tali cose con il create table:
1)Campo Memo (campo che ammette infiniti caratteri)
2)Campo chiave esterna che non ametta duplicati (mi serve per l'associazione 1->1)
1) un campo che ammetta infinti caratteri non esiste al max c'è LONGTEXT con il quale puoi inserire sino a 4,294,967,295 caratteri.
2) puoi usare l'indice "unique" o "primary key", sono identici tranne che per il fatto che di primary key in una tabella può esisterne solo una.
Gogeta ss4
03-07-2005, 12:43
Stavo pensando a una cosa, se io dichiaro una tabella che ha la chiave esterna per collegarsi ad un'altra tabella che ancora non esiste, mysql come fa a collegare le due tabelle??
Fa il collegamento una volta che trova l'altra tabella?'
Es: prova e' collegata con prova1 (nel references c'e' prova1) ma prova1 non esiste ancora, crea il collegamento tra prova e prova1 non appena viene creata la tabella prova1??
beppegrillo
03-07-2005, 13:17
Stavo pensando a una cosa, se io dichiaro una tabella che ha la chiave esterna per collegarsi ad un'altra tabella che ancora non esiste, mysql come fa a collegare le due tabelle??
Fa il collegamento una volta che trova l'altra tabella?'
Es: prova e' collegata con prova1 (nel references c'e' prova1) ma prova1 non esiste ancora, crea il collegamento tra prova e prova1 non appena viene creata la tabella prova1??
te lo vieta :)
anonimizzato
03-07-2005, 14:53
perdonatemi ma mi spieghereste bene il concetto di chiave esterna?
è diverso dagli indici di MySQL?
Grazie.
Gogeta ss4
03-07-2005, 15:52
te lo vieta :)
ehm, nn mi ha dato nessun errore!
E poi se me lo vietasse come farei a fare la relazione??
Gogeta ss4
03-07-2005, 15:54
perdonatemi ma mi spieghereste bene il concetto di chiave esterna?
è diverso dagli indici di MySQL?
Grazie.
La chiave esterna e' quella chiave che serve per collegare due tabelle (padre-figlio) che hanno una relazione, per esempio:
prodotti-produttori, un prodotto e' fornito da un solo produttore ma il produttore fornisce piu' prodotti. Questa e' un associazione m <- 1
In questo caso per collegare le due tabelle, prodotti essendo figlio di produttori avra' come chiave esterna la chiave principale di produttori :)
Spero di essere stato chiaro :D
beppegrillo
03-07-2005, 16:30
ehm, nn mi ha dato nessun errore!
E poi se me lo vietasse come farei a fare la relazione??
ti vieta l'inserimento di tuple all'interno di quella tabella non avendo la foreign key, altrimenti l'integrità referenziale andrebbe a farsi friggere.
ehm, nn mi ha dato nessun errore!
E poi se me lo vietasse come farei a fare la relazione??
ti ha fatto creare una tabella che ne referenzia una che non è stata ancora creata?
Gogeta ss4
03-07-2005, 17:52
ti ha fatto creare una tabella che ne referenzia una che non è stata ancora creata?
Si, ma credo che se credo tutto contemporaneamente il problema si risolva!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.