mysql - problemi inserimento dati nel database, consigli.

giorgio85

Nuovo Utente
13 Gen 2016
8
0
1
Ciao a tutti, ho creato due tabelle utenti e videos dove un utente una volta registrato può inserire anche dei video . Ovviamente un utente ha la possibilità di inserire più video nella stessa sessione di registrazione. Purtroppo ho notato facendo dei test che ogni volta che voglio inserire dai due e piu video il database non lo registra. Ho usato l' indirizzo e-mail come parametro distintivo tra i vari utenti. questo costringerebbe a loggarsi con piu indirizzi e-mail 2, 3 ecc volte per permettere di inserire 2, 3 volte i video. Posto il mio script per rendere l'idea. Penso che il problema risieda dal' uso errato delle chiavi.

CREATE TABLE videos(
nomevideo varchar(150) ,
id_video int(8) AUTO_INCREMENT PRIMARY KEY,
settore varchar(20) ,
descrizione mediumtext, // testo media lunghezza ,,, descrizione.
upload datetime CURRENT_TIMESTAMP,
idvideo varchar(30) PRIMARY KEY //corrisponde l'indirizzo email del utente come parametro identificativo tra i video. viene inserito però una volta sola nella tabella nel momento del log in? Come e possibile?
)

So di non essere stato chiarissimo. Ringrazio anticipatamente , e importante.


Grazie. Giorgio.
 

marino51

Utente Attivo
28 Feb 2013
3.036
192
63
Lombardia
nelle tabelle esiste una sola chiave primaria, ne hai definite due
in particolare la chiave primaria deve essere associata ad una colonna che contenga valori univoci
che, nel caso rappresentato, è "id_video"

la seconda chiave "idvideo" deve essere definita come "foreign key" e non ha l'obbligo dell'univocità degli elementi

se non strettamente necessaria, è possibile evitare la primary key,
non la colonna "id_video" che identifica in modo univoco ciascun elemento della tabella,
in questo modo si risparmierà lo spazio su disco per l'indice ed al motore del database la gestione dello stesso

giusto una breve lettura sull'argomento
http://www.mysqltutorial.org/mysql-primary-key/

infine,
cerca di usare nomi attinenti, per "id_video" e "idvideo" tra qualche mese ti chiederai qual è il nome da usare
 

giorgio85

Nuovo Utente
13 Gen 2016
8
0
1
Ciao Marino51 grazie.. quindi mi consigli di togliere tutte le chiavi primarie? oppure tengo id_video come chiave primaria e idvideo come foreign key?
Grazie anticipatamente.
Giorgio.
 

marino51

Utente Attivo
28 Feb 2013
3.036
192
63
Lombardia
sicuramente ti serve "idvideo" come foreign key per indicizzare la tabella e rendere più rapide le ricerche, mentre

tutto ciò che è presente ma non serve è dannoso (in questo caso per lo spazio e per il lavoro aggiuntivo al motore) e può essere fonte di guai,

definisci id_video come primary key solo se ti serve per creare un collegamento con altre tabelle dove l'elemento di riconoscimento è lo specifico video (potrai comunque aggiungerlo in seguito al momento del bisogno)
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
S Problemi delle funzioni eliminate con PHP e MySQL PHP 4
D problemi login php 5.6 mysql PHP 1
M Problemi PHP e MySQL PHP 1
A Problemi con accesso a MYsql MySQL 1
Z [VB.net 2013 - MySQL] DataTable: Problemi di caricamento per alcuni dati .NET Framework 1
Albertoesse Problemi passaggio valori da un Form ad Una classe con query mysql PHP 12
O Problemi collegamento a MySQL PHP 61
Albertoesse Problemi Interazione tra PHP\JS\MYSQL PHP 3
A problemi invio dati da php a database mysql PHP 2
P problemi di connessione tra Flash e MySql tramite php PHP 4
max1850 Problemi con cambio versione MySQL Database 0
G Problemi enormi con mysql MySQL 1
C Problemi dnn e mysql ASP.NET 0
E DBDesigner 4:problemi di connessione con MySQL Database 0
N Problemi con MYSQL PHP 0
C Problemi d'installazione Mysql Database 1
Z Controllo giorni MYSQL PHP 0
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
Z MySql injection PHP PHP 1
D controllare valore in tabella mysql PHP 0
A pulsante di update campo mysql con javascript Javascript 2
T differenza fra mysql xampp e un mysql server Database 0
R Importazione csv su mysql tramite array PHP 2
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
D problema php mysql PHP 1
D problema php mysql PHP 1
N Server mysql non raggiungibile da connessione esterna MySQL 1
B Crea pdf da tabella mysql "ultima riga modificata" MySQL 4
D evitare di inserirre duplicati in mysql PHP 4
L salvare codice html in mysql PHP 3
L Google chart php mysql PHP 2
S Gestire scelta dropdown con dati da Mysql PHP 2
K cron job mysql PHP 3
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
R Errore UPDATE tabella mysql PHP 1
R Caricamento immagine su cartella remota + mysql PHP 3
L Aiuto per programma web php/mySQL PHP 2
S Problema esportazione tabelle Mysql in Excel PHP 0
S Cancellare una riga MYSQL PHP 1
L Ricerca valore mysql e incremento PHP 73
G database mysql contengono informazioni ? MySQL 0
G Testo in mysql format 3 MySQL 0
G inserire dati automaticamente in mysql PHP 0

Discussioni simili