Ich muss eine Zeile basierend auf einer Bedingung (where-Klausel) aus einer Tabelle kopieren, einen doppelten Eintrag in derselben Tabelle erstellen und nur eine Spalte aktualisieren (eine foreign_key) . Aber weil "select * from Table_name" alle Felder einschließlich primary_key zurückgibt, ist es nicht möglich, die neue Zeile error: double key einzufügen.Zeile in derselben Tabelle kopieren und nur eine Spalte in MySQL aktualisieren
Ich kenne nicht alle Spalten der Tabelle, also kann ich primary_key nicht ignorieren, indem ich nur die erforderlichen Spaltennamen in der ausgewählten Abfrage gebe.
Gibt es eine Möglichkeit, primäre_key vom Abrufen selbst zu ignorieren .. oder kann ich die gesamte Zeile abrufen und den primary_key-Wert auf null setzen und dann die Zeile in Tabelle einfügen, so dass es den Primärschlüssel für neue Zeile automatisch inkrementiert hinzugefügt werden.
Danke.
Dank, Mike .. Warum ich weiß nicht, die Spalte Namen ist weil, ich schreibe eine generische gespeicherte Prozedur für die Durchführung der gleichen Art von Operation auf mehrere verschiedene Arten von Tabelle, die ich habe. Also werde ich einfach den Tabellennamen und die zu verwendende "where-Klausel" kennen, die für alle Tabellen gleich sein wird. – shailesh
@shailesh: Okay, der dynamische SQL-Ansatz mag für Sie funktionieren, aber meine Warnung steht immer noch. Viel Glück :-) – Mike
Hey Mike, Es scheint nicht, es gibt eine bessere Alternative .. Ich benutze das .. Danke nochmal .. – shailesh