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.203
207
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.203
207
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
K form Inserimento record mysql PHP 2
P Mysql lento a cancellare MySQL 1
P Codifica caratteri speciali mysql php PHP 0
N MAX() + ADD_DATE - per update su Mysql MySQL 0
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
W MySQL ciclo in SELECT MySQL 0
L Mysql gestionale multipiattaforma MySQL 0
W MySQL SELECT list dinamica MySQL 0
M utilizzo mysql in nodejs - crea createdAt e updateAt MySQL 1
T colonne di tabelle mysql ordinate MySQL 0
M Sintassi "personalizzata" per mysql workbench? MySQL 0
A Mysql MySQL 0
F Ricreare struttura php+mysql su Xampp Apache 0
M Array associativi php su 2 campi mysql PHP 10
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

Discussioni simili