|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
mysql mettere in relazione deu table
create table Sondaggio_risposte(
ID int(7) NOT NULL auto_increment PRIMARY KEY, ID_poll_titolo Integer(10) not null, Titolo_Risposte varchar(50) NOT NULL, Num_Risposte integer(1) Not Null, Data DateTime Not null, INDEX ID (ID), FOREIGN KEY (ID_poll_titolo) REFERENCES Sondaggio_titolo(ID) ); La table viene creata. mi aspetto un erore qando faccio una insert e ID_poll ha un valore che non corrisponde al campo ID di Sondaggio_titolo. Perchè l'insert avviene correttamente. Cmq io nel describe della table Sondaggio_risposte non vedo la FOREIGN KEY Sto impazzendo
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
La foreign key non è infatti implementata da mysql, se non in mysql 4 e per certi tipi di tabelle.
E' il motivo principale che mi ha spinto verso postgresql.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Le FOREIGN KEYS sono implementate in MySQL sulle tabelle di tipo InnoDB...che tra l'altro supportano anche le transazioni e di conseguenza non c'è più bisogno di fare i lock sulle tabelle...
http://www.mysql.com/doc/en/ANSI_diff_Foreign_Keys.html |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ah...per la cronaca da poco la versione 4.0 è diventata il ramo principale... Sulla 3.23 non saranno corretti bug se non quelli di sicurezza...
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
ok.
Nei privilegi da dare ad un utente c'è l'opzione REFERENCES (non centra nulla?). Questa table InnoDb vengono create in questo modo? create table nometable (id int(7) Primary key) type="InnoDb");
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
ciao cionci,
ho provato create table a (ID int(7) NOT NULL auto_increment PRIMARY KEY) type=Innodb; create table b ( ID int(7) NOT NULL auto_increment PRIMARY KEY, ID_a Integer(7) not null, FOREIGN KEY (ID_a) REFERENCES a(ID)) type=InnoDb; ); ma non funziona mi crea la table, ma all'inserimento record non rispetta la relazione. e giusto in questo modo?
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Sinceramente non ho ancora provato le tabelle InnoDB... Per InnoDB c'è il capitolo 7.5 del manuale da leggere... |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
non ho attivo InnoDb
come lo attivo;
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Apri il file my.ini che si trova nella dir di Widnows e ci aggiungi questa roba:
innodb_data_file_path = ibdata1:10M:autoextend # Set buffer pool size to # 50 - 80 % of your computer's # memory set-variable = innodb_buffer_pool_size=70M set-variable = innodb_additional_mem_pool_size=10M # Set the log file size to about # 25 % of the buffer pool size set-variable = innodb_log_file_size=20M set-variable = innodb_log_buffer_size=8M # Set ..flush_log_at_trx_commit # to 0 if you can afford losing # some last transactions innodb_flush_log_at_trx_commit=1 Vai nella dir data di MySQL e cancelli gli entuali file presenti in quella dir (escluse le directory, solo i file...puoi tenere ad esempio il file .err)... Disattivi MySQL... Vai da linea di comando e scrivi mysqld --console e controlli che tutto vada a posto... A questo punto puoi far ripartire il servizio... Comunque nel capitolo 7.5.1 c'è scritto tutto |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
provo subito
cmq sto provando su un mysql dove innodb è attivo ma non funge
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Fai quello che ti ho detto e vedrai che funge... Io ho scaricato ieri la versione 4.0.12, ho fatto quella modifica e ora funziona alla perfezione...
Comuqnue sembra che voglia ID_a indicizzato altrimenti non la crea: create table b ( ID int(7) NOT NULL auto_increment PRIMARY KEY, ID_a Integer(7) not null, INDEX a_ind (ID_a), FOREIGN KEY (ID_a) REFERENCES a(ID)) type=InnoDb; mysql> insert into b values (1,3); ERROR 1216: Cannot add or update a child row: a foreign key constraint fails |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
ciao cionci
Sulla versione 3.23.41 di mysql non funziona il discorso della relazione. Confermo le table InnoDb son attive: Ho provato anche ad indicizzare i campi interessati per la relazione ma null da fare. A questo punto credo she sia un pb di versione tu che dici? Io non ho windows come sistema operativo quel codice che mi hai passato va bene lo stesso anche per Linux? Ciao e tnks
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Feb 2003
Città: Formia
Messaggi: 1545
|
Dimenticavo di scriverti una cosa..
Quando faccio il Desc della table b; nella voce Key c'è Mul Questo non vuol dire nulla?
__________________
Il portale delle infomazioni di Latina e Provincia Giralatina.it e’ nato con il preciso intento di promuovere varie attività che si svolgono nella provincia di Latina http://www.giralatina.it Il Blog dei Pendolari http://www.giralatina.it/blog/mybloggie/index.php |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dovrebbe...
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
.8.4.5 Foreign Keys
In MySQL Server 3.23.44 and up, InnoDB tables support checking of foreign key constraints, including CASCADE, ON DELETE, and ON UPDATE. See section 7.5 InnoDB Tables. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:55.


















