Kolomnamen achterhalen (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

Kolomnamen achterhalen is simpel

In den beginne:

select column_name from information_schema.columns where table_name="tabelnaam" and table_schema="databasenaam";

Ik snap trouwens niet waar and table_schema="databasenaam" voor nodig is, want dit werkt ook:

select column_name from information_schema.columns where table_name="tabelnaam";

Het resultaat kan uiteraard ook naar een tabel worden weggeschreven, in dit geval een tijdelijke tabel:

drop temporary table if exists kolomnaam_tmp
create temporary table kolomnaam_tmp select column_name 
from information_schema.columns 
where table_name="tabelnaam";

Of uitvoeren als één string - inclusief voorbeeld-output:

select group_concat(column_name) from information_schema.columns 
where table_name="amazon_de_tmp";

item_sku,external_product_id,external_product_id_type,asin,item_name_de,manufacturer,feed_product_type,
brand_name,part_number,description_de,update_delete,standard_price_de,quantity,fulfillment_latency,
condition_type,number_of_items,website_shipping_weight,website_shipping_weight_unit_of_measure,
item_length,item_width,item_height,item_dimensions_unit_of_measure,item_weight,
item_weight_unit_of_measure,recommended_browse_nodes,generic_keywords,bullet_point1,bullet_point2,
bullet_point3,bullet_point4,bullet_point5,target_audience_keywords,main_image_url,other_image_url1,
package_height,package_height_unit_of_measure,package_width,package_width_unit_of_measure,package_length,
package_length_unit_of_measure,package_weight,package_weight_unit_of_measure,color_name,color_map,
material_type,specific_uses_for_product,item_name,description,standard_price

Kolomnamen naar één record wegschrijven

Problemen, problemen

Als ik Amazon-sjablonen met productdata aan het vullen ben, moet ik de namen van de kolommen in de eerste regel vermelden. Oftewel:

  • Hoe plaats ik die kolomnamen in één record, met de juiste waarde in de juiste kolom?
  • Hoe kun je überhaupt in SQL een record dat is opgeslagen in een delimited string in een record invoegen???

Bronnen