Bei Verwendung der Ruby/MSQL-Bibliothek habe ich ein Objekt vom Typ Mysql :: Result zurückgegeben. Wie würde ich eine Zeichenfolge erstellen, die das Objekt durchläuft und eine gültige MySQL-Abfrage erstellt? Ich habe Probleme herauszufinden, wie das letzte Komma aus der Ausgabe unten, und wie diese Ausgabe zurück an die Methode query() übergeben wird.Konstruieren einer gültigen MySQL-Abfrage mit Ruby/MySQL
require 'mysql'
dbh = Mysql.real_connect("host", "user", "pass", "db")
res = dbh.query("SELECT name, category FROM animals")
printf "INSERT INTO animals (name, category) VALUES (\n"
res.each_hash do |row|
printf "('%s', '%s'),\n", row["name"], row["category"]
end
printf ")\n"
#Output
INSERT INTO animals (name, category) VALUES (
('snake', 'reptile'),
('frog', 'amphibian'),
('tuna', 'fish'),
('raccoon', 'mammal'),
)
Das ist es. Erledigt. – Swanand
Vielen Dank! Aber wie fügt man die einfachen Anführungszeichen hinzu? query = "INTO Tiere INSERT (Name, Kategorie) VALUES (# {values.join (", ")})" gibt INSERT INTO Tiere (Name, Kategorie) VALUES ((Schlange, Reptilien), (Frosch, Amphibie), (Thunfisch, Fisch), (Racoon, Säugetier)) – jtorrance
normale String-Interpolation verwenden –