Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mysql Insert Select + Concat

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Mysql Insert Select + Concat

    Hi, habe mal wieder ein Problem mit MYSQL...

    Ich will ein INSERT befehl asuführen...
    PHP-Code:
    INSERT INTO log(usertext) .... 
    dabei ist user eine simle php-variable. text setzt sich aus mehreren teilen zusammen. Aus mehreren Abfragen, bzw festen texten...
    in etwa so:
    PHP-Code:
     CONCAT("test"SELECT date FROM action WHERE id=,"test2"SELECT ...); 
    PHP-Code:
    INSERT INTO log(usertext) .... SELECT "hallo"CONCAT("test"SELECT date FROM action WHERE id=,"test2"SELECT ...) 
    das der ganze insert so aussehen würde:

    leider funktioniert in CONCAT keine sql-abfragen, hat da jemand eine lösung?

    thx schonmal
    Under Construktion


  • #2
    statt
    CONCAT("test", SELECT date FROM action
    SELECT CONCAT("test",date) FROM action

    etc.
    evt musst Du auch joinen, aber Deine INFOs sind sehr dürftig

    Kommentar


    • #3
      versuch es ma genauer zu erklären:
      also ich will nen insert machen, es geht um das loggen bestimmter aktionen (bzw änderungen).
      PHP-Code:
      INSERT INTO logg (nummerusertext) ... 
      dabei hab ich die "nummer" und den "user" ganz einfach in einer php-variable...
      das problem ist der "text". hier sollen die alten werte aus der db ausgelesen werden und die neuen dahintergeschrieben (die neuen wiederrum stehen in einfachen variablen).
      der "text" sollte dann so aussehen:
      Code:
      Aenderung: nummer: 12345 -> 23123; anzahl: 4 -> 3 ...
      also alter wert -> neuer wert.
      und den alten wert muss ich aus einer datenbank auslesen.

      hoffe man versteht es jetzt..
      Under Construktion

      Kommentar


      • #4
        zeig mal das Statement mit dem Du die alten werte aus der DB holst

        Kommentar


        • #5
          für eine sache z.b
          PHP-Code:
          SELECT description FROM project p1shortnumber s1 WHERE s1.project=p1.id AND s1.id=5
          ich schreibe eine id in das feld project von der tabelle shortnumber, will aber halt die bezeichnung... deswegen das verknüpfen
          Under Construktion

          Kommentar


          • #6
            Wenn Du irgendwann mal in der Lage bist Dein Problem ausführlich und verständlich zu artikulieren melde Dich. (datenstruktur, vorher nacer zustand)

            Ich denke es ist total einfach umzusetzen, allerdings kann ich Deinen Beschreibungen nicht wirklich folgen.

            Kommentar


            • #7
              Zitat von Hu5eL
              leider funktioniert in CONCAT keine sql-abfragen, hat da jemand eine lösung?
              Wer behauptet das?
              PHP-Code:
              $sql "
                  INSERT INTO 
                      log(user, text) 
                  VALUES (
                      
              $user,
                      CONCAT(
                          'test', 
                          (SELECT 
                              date 
                          FROM 
                              action 
                          WHERE 
                              id=2) ,
                          'test2', 
                          (SELECT 
                              ...
                          )
                      )"

              Gruss
              L

              Kommentar


              • #8
                mein mysql
                PHP-Code:
                SELECT CONCAT('a', (SELECT prj_id FROM project_keyword WHERE id=2)); 
                fehler
                PHP-Code:
                ERROR 1064 (00000): You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT prj_id FROM project_keyword WHERE id=2))' at line 1 
                Under Construktion

                Kommentar


                • #9
                  Wofuer denn eigentlich der aeussere SELECT?
                  "Mein Name ist Lohse, ich kaufe hier ein."

                  Kommentar


                  • #10
                    Zitat von Chriz Beitrag anzeigen
                    Wofuer denn eigentlich der aeussere SELECT?
                    Sind den Amis die ü`s, ä´s und ß´s ausgegangen? xD

                    Kommentar


                    • #11
                      Zitat von Chriz Beitrag anzeigen
                      Wofuer denn eigentlich der aeussere SELECT?
                      Das war vermutlich nur zum Testen, er will ja einen INSERT machen

                      Nur komischerweise habe ich keine Propleme damit:
                      Code:
                      mysql> SELECT * FROM tab1;
                      +--------+-------+------------+-----------+--------+--------+
                      | id     | runid | generation | durchlauf | caseno | result |
                      +--------+-------+------------+-----------+--------+--------+
                      | 100095 |     0 |          7 |         3 |      4 |      7 | 
                      | 100003 |     0 |          1 |         2 |      4 |      6 | 
                      | 100030 |     0 |          2 |         1 |      4 |     13 | 
                      | 100042 |     0 |          3 |         3 |      3 |      8 | 
                      | 100021 |     0 |          2 |         2 |      3 |      4 | 
                      | 100080 |     0 |          4 |         1 |      3 |      5 | 
                      | 100037 |     0 |          4 |         2 |      2 |      5 | 
                      | 100045 |     0 |          4 |         1 |      2 |      7 | 
                      | 100014 |     0 |          1 |         1 |      1 |     25 | 
                      | 100036 |     0 |          1 |         2 |      1 |     12 | 
                      | 100040 |     0 |          2 |         3 |      1 |      8 | 
                      | 100094 |     0 |          3 |         4 |      1 |      3 | 
                      +--------+-------+------------+-----------+--------+--------+
                      12 rows in set (0.00 sec)
                      
                      mysql> SELECT 
                          CONCAT(
                              'xyz ',
                               (
                                  SELECT 
                                      generation 
                                  FROM 
                                      tab1 
                                  WHERE 
                                      id = 100040
                              ), 
                              ' abcd ', 
                              (
                                  SELECT 
                                      result 
                                   FROM
                                      tab1 
                                  WHERE 
                                      id = 100094
                                )
                          ) AS concat;
                      +--------------+
                      | concat       |
                      +--------------+
                      | xyz 2 abcd 3 | 
                      +--------------+
                      1 row in set (0.00 sec)
                      [OT]
                      @cycap
                      Die ß´s hab ich auch noch nicht gefunden
                      Gruss
                      L

                      Kommentar


                      • #12
                        Neuer Laptop halt.
                        "Mein Name ist Lohse, ich kaufe hier ein."

                        Kommentar


                        • #13
                          Zitat von Chriz Beitrag anzeigen
                          Neuer Laptop halt.
                          [OT]
                          Macbook Air? *g*

                          Kommentar


                          • #14
                            So gut steht der EUR nun auch wieder nicht, ausserdem werd ich in Dollar bezahlt ..
                            "Mein Name ist Lohse, ich kaufe hier ein."

                            Kommentar


                            • #15
                              ok danke an alle die geholfen haben
                              Under Construktion

                              Kommentar

                              Lädt...
                              X