Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Subqueries in query di inserimento

    Salve ragazzi. Non riesco ad effettuare una sottoselezione in una query di inserimento. La query è questa:

    INSERT INTO countries_mlt_lng ( `country_name` , `trans_into` , `country` ) VALUES ( 'UNITED KINGDOM' , (SELECT id FROM countries_mn_lng WHERE name2 = 'EN') , (SELECT id FROM countries_mn_lng WHERE name2 = 'GB') ),( 'UNITED STATES' , (SELECT id FROM countries_mn_lng WHERE name2 = 'EN') , (SELECT id FROM countries_mn_lng WHERE name2 = 'US') )

    L'errore generato è questo:
    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 'IVOIRE' , (SELECT id FROM countries_mn_lng WHERE name2 = 'EN') , (SELECT id FROM' at line 1

    Ho provato sia racchiudendo la subquery tra parentesi sia senza racchiuderla ma comunque non funziona.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    E' evidente che il codice che hai postato non è quello reale, visto che l'errore cita la stringa 'IVOIRE' che nella tua query non c'è.

    Lavorando un po' d'intuito non è difficile immaginare che ti è rimasto un apice nella query; non hai fatto l'escape

  3. #3
    No, in effetti ho postato solo parte della query che è generata da un array a sua volta generato estraendo dei dati da un file. Siccome i dati da inserire sono oltre 200 capisci che non potevo postare tutta la query anche perchè alla fine è come se avessi uno "stampo" della query riempita da un foreach con i dati estratti di volta in volta. Per questo non ho postato la riga precisa.
    Credo che l'errore sia nella subquery perchè non le ho mai usate e non conosco bene la sintassi. Cmq ora ti posto il codice relatico alla parte che dà l'errore: può darsi che in quel caso la query, essendo basata su un modello, sia errata non rispondendo il modello al tipo di dato ma comunque ne dubito. Solo un po' di pazienza e posto il codice.
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  4. #4
    Avevi ragione! Il nome del paese aveva un apice cui non avevo fatto l'escape! per questo dava errore! grazie mille per l'illuminazione! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.