Insert ... Ach, das heißt ja UPDATE...

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

  • Insert ... Ach, das heißt ja UPDATE...

    Hallo, warum geht folgende Insert-Anweisung nicht:

    PHP-Code:

    $sql 
    ="Insert into project (brand_id) values ('$brand_id5') where nr='$project_nr3'"
    Ich habe geguckt, $brand_id5 und $project_nr3 werden ordentlich übergeben, und die Tabellenfelder heißen auch so.

  • #2
    http://dev.mysql.com/doc/mysql/en/insert.html


    es gibt keine WHERE-Klausel beim INSERT-Statement. Was soll die überhaupt bewirken?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Ich lege ein neues Project an und dann gibts zu diesem Projekt verschiedene Studien, jetzt will ich zu studie 1 Werte eingeben und die sollen nur dem Project hinzugefügt werden, was die ausgewählte Projektnummer hat.

      Ich wähle aus Projekt 1 und gebe jetzt einen Wert ein: 5

      Jetzt soll der Wert "5" dem Projekt 1 hinzugefügt werden.

      Kommentar


      • #4
        über ne spalte project_id oder sowas machen, aber so gehst 100%ig nicht.
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          Meine Spalte heißt project_nr und das ist meine ID, also auto increment.

          Kommentar


          • #6
            dann fügst du die datensätze halt so ein, dass du sie über die id identifizieren kannst....


            d.h.: projekte kriegen jeder ne id in der tabelle wo die projekte drinne sind -> die datensätze haben in ihrer tabelle projekt_daten oder wie auch immer ne spalte wo eben diese ID drinne steht. dann kannst du bequem joinen.


            P.S.: Übrigens bitte demnächst ins richtige Forum posten, das wäre nämlich SQL, hat hier nicht wirklich was mit PHP zu tun. Danke.
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              HÄ, das habe ich jetzt nicht verstanden.

              Ich habe die Tabelle project. Dort habe ich das Feld nr und brand_id.
              Ich habe das Project Nr. 3 geöffnet. Der User wählte jetzt z.B. als brand_id 5 aus. Jetzt muss folgendes in die DB eingetragen werden.

              PHP-Code:
              ...........
              Insert into project (brand_idvalues ('$brand_id5'where nr='$project_nr3'";
              ......... 
              Das würde dann so aussehen:

              Insert into project (brand_id) values ('5') where nr='3'";

              Das muss doch irgendwie gehen, ist doch nicht total unlogisch !

              Kommentar


              • #8
                es gibt keine WHERE-Klausel beim INSERT-Statement
                das feld "nr" soll ganz normal als wert eingetragen werden.

                Kommentar


                • #9
                  Wie jetzt, was soll/kann ich denn nur machen ?

                  Kommentar


                  • #10
                    willst du einen neuen datensatz einfügen?
                    dann nutze INSERT:
                    Code:
                    INSERT INTO `tabelle` (`feld1`, `feld2`) VALUES (3, 5)
                    beachte, wie man die zahlen angibt.

                    Kommentar


                    • #11
                      Will einen vorhanden DS erweitern !

                      Kommentar


                      • #12
                        dann brauchst du UPDATE und nicht INSERT.

                        Kommentar


                        • #13
                          Hamer wieder mal das Manual nicht gelesen und auf Grundlagen verzichtet?

                          Kommentar


                          • #14
                            Hab auch schon ueberlegt mit Update, aber wie kann ich jetzt z.B.
                            wenn ich sage ich möchte dem feld brand_id --> "21" einfügen, wo die nr="3" ist.

                            Update set ... where ...

                            Jetzt habe ich folgenden DS:

                            nr brand_id
                            3 1

                            Jetzt möchte ich aber dem ds nr=3 noch eine brand_id hinzufuegen, wie kann ich das machen, ohne dass z.B. jetzt die brand_id=1 uberschrieben, sondern wenn ich jetzt noch die 4 auswähle, dann soll der DS wie folgt in der DB aussehen:

                            nr brand_id
                            3 1,4

                            Die brand_id sollen mit Komma voneinander getrennt werden.

                            Kommentar


                            • #15
                              Update set ... where ...
                              genau so - ist doch richtig.

                              Kommentar

                              Lädt...
                              X