PDA

Visualizza la versione completa : [sql] problema apici


dogo21sob
04-06-2009, 15:26
'INSERT INTO admin_test.test VALUES ('0','0')'

questa stringa se i 2 campi di test sono interi funziona, ma se il primo campo di testo, questa:

'INSERT INTO admin_test.test VALUES ('abc','0')'

non funziona ritornandomi questo errore " Unknown column 'abc' in 'field list' "

come posso risolverlo?

tenete presente che questa stringa contenuta in un'altra stringa in questo modo:

str="/usr/bin/mysql --user=user --password=pass -h host -e 'INSERT INTO admin_test.test VALUES ('abc','0')'"

sto per morire pazzo con questi apici :dh:

Alethesnake
04-06-2009, 15:37
Com' definita la tabella test?

dogo21sob
04-06-2009, 15:39
ha 2 campi, 'id' e 'perc' dove 'id' di tipo text di max 10 caratteri e 'perc' di tipo int

nicola75ss
04-06-2009, 15:59
INSERT INTO test (id,perc) VALUES ('abc',0)

Per inserire i valori numerici (nel tuo esempio 0) non necessario racchiudere il valore tra apici. Sempre stando al tuo esempio non giurerei che ti serva un campo text. Magari un semplice varchar pi che sufficiente. Consulta il manuale di mysql relativamente ai tipi di dati.

dogo21sob
04-06-2009, 16:06
si il varchar va bene, ma ho provato sia con text sia con varchar e l'errore sempre lo stesso anche scrivendo, come da te suggerito:

str="/usr/bin/mysql --user=user --password=pass -h host -e 'INSERT INTO test (id,perc) VALUES ('abc',0)'"

sul campo numerico visto che gli apici erano superflui non mi dava errore sia che li mettevo sia che non li mettevo, mentre sul campo varchar (o text) mi d sempre lo stesso errore...

dogo21sob
04-06-2009, 16:19
questa parte

INSERT INTO test (id, perc) VALUES ('aaa',0)

funziona bene, il problema che inserita nella stringa di cui sopra poi non funziona perch evidentemente c' un conflitto con gli apici singoli che stanno prima e dopo la insert... ma non so pi cosa provare per risolvere :dh:

dogo21sob
04-06-2009, 17:41
vabb cmq la riga di sql giusta, non un problema di sql ma della shell unix, perch quella stringa sta in uno script per shell unix :dh:

Loading