MySQL #1243 Unknown dichiarazione preparata gestore (stmt) data di ESEGUIRE

Sto seguendo questo tutorial sul mio installata la versione di MySQL, ma non è la lancio mi da un errore:

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'MAX(IF(property_name = ''',
      property_name,
      ''', value, NULL)) AS ',
      property_name
    )
  ) INTO @sql
FROM
  properties;
SET @sql = CONCAT('SELECT item_id, ', @sql, ' FROM properties GROUP BY item_id');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

Sto incollando su SQL editor in phpMyAdmin.

Ho seguito il suggerimento. Senza errori, ma il risultato è il seguente:

SELECT item_id
,MAX(IF(property_name = 'color', value, NULL)) AS color
,MAX(IF(property_name = 'size', value, NULL)) AS size
,MAX(IF(property_name = 'weight', value, NULL)) AS weight 
FROM properties GROUP BY item_id
invece di eseguire le ultime tre righe, di cambiare con SELECT @sql e posta il risultato qui in modo che possiamo sapere dove è l’errore.
Aggiorno la questione.
Che cosa si desidera che il risultato di apparire come in realtà?
eseguirà la query che ho indicato nell’aggiornamento. L’uscita di “@sql” è la stringa.
Onorevole, hai risolto il tuo problema?

OriginaleL’autore Mr A | 2013-04-18

3 Replies
  1. 3

    Se si dispone di accesso a MySQL da riga di comando, credo che troverete il vostro codice SQL è bene (purché @sql non è uguale a NULL) e il problema è con phpMyAdmin. Un’altra idea è quella di inserire il codice in una stored procedure e quindi CALL la procedura.

    OriginaleL’autore udog

  2. 2

    È necessario rimuovere il DEALLOCATE PREPARE stmt; dalla query fino a dopo l’esecuzione della query.

    DEALLOCATE annulla la dichiarazione prima che abbia la possibilità di correre.

    OriginaleL’autore Dustin

  3. 1

    Provare questo in MySQL Workbench. Ho avuto lo stesso problema in phpMyAdmin e ho provato a Banco e funziona benissimo.

    grazie, utilizzando sequel pro hanno lo stesso problema con phpMyAdmin ma funziona benissimo sul Banco di lavoro

    OriginaleL’autore Jis Jose

Lascia un commento