[MySQL] Foreign key errore

MrSab

Nuovo Utente
8 Ago 2019
4
0
1
Codice:
mysql> show columns from card_type;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| card_id   | smallint(5) | NO   | PRI | NULL    | auto_increment |
| name_card | char(128)   | NO   |     | NULL    |                |
| meaning   | char(128)   | NO   |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

mysql> create table acquisti (purchase_id smallint(5) not null auto_increment,nome_off char(128) not null,acquistata char(128) not null,attivabile_dal char(128) not null,card_assegnata smallint(5),primary key (purchase_id),foreign key(card_assegnata) references card_type(card_id);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> create table acquisti (purchase_id smallint(5) not null auto_increment,nome_off char(128) not null,acquistata char(128) not null,attivabile_dal char(128) not null,card_assegnata smallint(5),primary key (purchase_id),foreign key(card_assegnata) references card_type(card_id);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
mysql> alter table card_type add primary key ('card_id',name_card');


Ciao a tutti

sto cercando di impratichirmi con il linguaggio Mysql (per cambiare lavoro) e sto cercando di creare una tabella collegata alla prima tramite una foreign key ma il sistema mi da sempre errore, cosa sto sbagliando?
Abbiate pazienza anche se probabilmente è tanto evidente che dovrei capirlo da solo....

Grazie

P.s. se creo la tabella senza inserire foreign key non mi da errore.....
 
Ultima modifica:

MrSab

Nuovo Utente
8 Ago 2019
4
0
1
si, potresti leggere il manuale e così scoprire che,
"char" é una funzione che nulla ha a che vedere con la definizione delle stringhe nella "create"
Ciao, grazie di aver accolto la mia richiesta.
Sto seguendo un manuale che ti allego in foto con l'istruzione che mi da. Ho semplicemente cambiato i dati con quelli da me creati ma la struttura mi pare la stessa.
Puoi essere piu' chiaro con l'incompatibilità della funzione "char"? Come dovrei scrivere allora? Nell'istruzione riportata nel manuale cosa non sto notando?

E infine il manuale a cui fai riferimento quale sarebbe?

Faccio riferimento alla tua pazienza nel volermi far capire.
 

Allegati

  • IMG_20190809_095014 (FILEminimizer).jpg
    IMG_20190809_095014 (FILEminimizer).jpg
    101,6 KB · Visite: 475

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
quando tratti un qualsiasi motore sql e/o un qualsiasi linguaggio di programmazione,
fai sempre riferimento allo specifico manuale,
ciò che stai leggendo può essere una traccia, non necessariamente la copia del manuale specifico

come detto "char" in mysql é una funzione che non si adatta alla "create", così indica il manuale specifico
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
scusa, sto usando una versione molto vecchia di mysql che lavora con Win IIS
provando il tuo script su un'altra macchina vedo che l'errore deriva da una parentesi mancante prima del punto e virgola finale
prova così,
Codice:
create table acquisti (
 purchase_id smallint(5) not null auto_increment
,nome_off char(128) not null
,acquistata char(128) not null
,attivabile_dal char(128) not null
,card_assegnata smallint(5)
,primary key (purchase_id)
,foreign key(card_assegnata) references card_type(card_id)
);
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [Mysql] problema su Foreign Key MySQL 0
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
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
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
D Emoji in mysql Database 0
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

Discussioni simili