1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

kann mit jemand helfen?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von menzel, 4 Februar 2020.

  1. menzel

    menzel Neuer Benutzer

    hallo und guten tag,

    ich habe leider zu wenig ahnunbg von mysql und finde auch keine richtig passende lösung.

    betrieben wird win10/x64 mit xampp 7.4.1

    ich habe eine db mit 4 spalten

    id-INT(10) AI
    ansicht Varchar(1024)
    jahrINT(4)
    pfadVarchar(1024)

    in <ansicht> stehen daten wie (nicht immer mit jahreszahl):

    - 1872 erste Strassenbahn.jpg
    - _Reportage Nesenbach 12.01.2013.pdf;
    - _Rathausumgebung 2016.jpg;

    die spalte <jahr> ist derzeit leer.

    nun würde ich gerne die jahreszahlen aus <ansicht> in die spalte <jahr> einfügen. das kann auch durchaus für festgelegte jahre sein.

    select der datensätze mit beispieljahr 1811 klsppt mit:

    SELECT * FROM `pics` WHERE `ansicht` LIKE '%1811%';

    der zweite schritt, in die ausgewählten datensätze den wert 1811 in <jahr> einzufügen, klappt überhaupt nicht, nur fehlermeldungen. würde das aber gerne hinkriegen ...

    wäre toll, wenn mir da jemand helfen kann.

    danke

    menzel
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Nabnd,

    folgende Lösung mit PostgreSQL:

    Code:
    test=*# select * from menzel;
     jahr |                 pfad                 | id
    ------+--------------------------------------+----
          | 1872 erste Strassenbahn.jpg          |  1
          | _Reportage Nesenbach 12.01.2013.pdf; |  2
          | _Rathausumgebung 2016.jpg;           |  3
    (3 rows)
    
    test=*# with jahr as (select id, array_to_string(regexp_matches(pfad, '\d\d\d\d'),'')::int as jahr from menzel) update menzel set jahr = jahr.jahr from jahr where menzel.id=jahr.id;
    UPDATE 3
    test=*# select * from menzel;
     jahr |                 pfad                 | id
    ------+--------------------------------------+----
     1872 | 1872 erste Strassenbahn.jpg          |  1
     2013 | _Reportage Nesenbach 12.01.2013.pdf; |  2
     2016 | _Rathausumgebung 2016.jpg;           |  3
    (3 rows)
    
    test=*#
    
    Ob das so geschmeidig auch mit MySQL geht darf allerdings bezweifelt werden.
     
  3. menzel

    menzel Neuer Benutzer

    hallo und danke für die mühe. klappt so natürlich nicht in mysql. schade. aber vielleicht tauch ja noch was auf, so mit mysql ... lösung ... vorschlag ... wills halt immer noch n´hinkriegen.

    gruss
    menzel
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden