2016-04-19 13 views
2

habe ich eine XML wieMySQL ExtractValue mit variabler

<info> 
    <name>John</name> 
    <sname>Doe</sname> 
</info> 

Tabelle mit Variablen wie Objekt_Name: = "name", object_surname = "sname" Und MySQL Abfrage wie

SELECT @name = CONCAT('/info/', object_name) FROM table 

Was mich geben eine Variable. @name = '/ info/name', es ist OK. Dann mache ich eine Abfrage:

SELECT ExtractValue(:info, '/info/name') AS name FROM table2 

Es funktioniert gut, aber wenn ich es

SELECT ExtractValue(:info, @name) AS name FROM table2 

nichts Es zeigt ändern. Haben Sie einige Lösungen?

+0

Hast du '@name versucht:'? – SaidbakR

+0

SQL-Syntaxfehler – agamerr

+0

Sorry, ich habe die Frage falsch verstanden. Ich hoffe, dass Sie die richtige Antwort finden konnten. – SaidbakR

Antwort

3
SELECT @name = CONCAT('/info/', object_name) FROM table 

vergleicht $ name zu CONCAT ....

= is the assignement operator only for SET, für SELECT Verwendung: =

in Ihrem Fall Gebrauch

SELECT @name := CONCAT('/info/', object_name) FROM table 
+0

Sorry, habe es vergessen, es war im Hauptcode aber vergessen, es hier zu schreiben ... – agamerr