tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
373
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    SwissError SwissError ist offline Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    15
    Hi, ich müsste die exakt gleichen werte einer row der table in die gleiche table wieder reinschreiben.
    Hierfür hab ich den codeschnipsel:
    Code :
    1
    2
    3
    4
    
    INSERT INTO sys_jobadmin_jobs 
    SELECT * 
    FROM sys_jobadmin_jobs
    WHERE job_id = '".$_VARS['id']."'

    Nur gibt das die fehlermeldung: Duplicate entry '1' for key 1

    Natürlich wegen der auto increment ID. Aber kann ich das auch umgehen? Ich möchte einen codehack mit daten holen und dann wieder speichern vermeiden....
     

  2. #2
    Registriert seit
    Jun 2004
    Ort
    Lübeck
    Beiträge
    498
    Mache doch ein update anstelle eines inserts.
    wenn du beim update keine spalten angibt geht er normalerweise einfach von links nach rechts durch.
    Und das Problem hat meine neugier gewekt.. wie kommt man dazu so etwas zu brauchen?
     
    ====================
    It isn't true unless it makes you laugh...

    ...but you don't understand untill makes you weep.
    ====================

    Do what thou wilt shall be the whole of the law.

  3. #3
    Registriert seit
    Jan 2004
    Beiträge
    1.072
    Einfach die ID nicht miteintragen.

    Code :
    1
    2
    3
    4
    
    INSERT INTO sys_jobadmin_jobs (daten1, daten2, ...)
    SELECT daten1, daten2, ...
    FROM sys_jobadmin_jobs
    WHERE job_id = '".$_VARS['id']."'
     

  4. #4
    SwissError SwissError ist offline Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    15
    Ich bin an einer kompletten buchhaltung am programmieren. und da ist das eine gewünschte "schnellfunktion" um ein Job zu erstellen.

    Zum Update: Dann wird doch der vorhandene datensatz überschrieben, dabei möchte ich einen redundanten 2. datensatz bei dem halt einfach die id sich selbst setzt. Und

    Code :
    1
    2
    3
    4
    
    UPDATE sys_jobadmin_jobs SET
    SELECT * 
    FROM sys_jobadmin_jobs
    WHERE job_id = '".$_VARS['id']."'
    geht sowenig wie
    Code :
    1
    2
    3
    4
    
    UPDATE sys_jobadmin_jobs
    SELECT * 
    FROM sys_jobadmin_jobs
    WHERE job_id = '".$_VARS['id']."'
     

  5. #5
    Registriert seit
    Jun 2004
    Ort
    Lübeck
    Beiträge
    498
    Zitat Zitat von SwissError
    Ich bin an einer kompletten buchhaltung am programmieren. und da ist das eine gewünschte "schnellfunktion" um ein Job zu erstellen.

    Zum Update: Dann wird doch der vorhandene datensatz überschrieben, dabei möchte ich einen redundanten 2. datensatz bei dem halt einfach die id sich selbst setzt.
    Ok.. du KANNST in einer Tabelle keine zwei identischen Datensätze haben.. zumindest der Primärschlüssel sollte unterschiedlich sein...
    Was mir noch einfallen würde: das AutoIncrement auf +2 statt +1, und dann einen Primärschlüssel im zweiten Datensatz +1.
     
    ====================
    It isn't true unless it makes you laugh...

    ...but you don't understand untill makes you weep.
    ====================

    Do what thou wilt shall be the whole of the law.

  6. #6
    SwissError SwissError ist offline Mitglied
    Registriert seit
    Jun 2002
    Beiträge
    15
    Zitat Zitat von Oliver Gringel
    Einfach die ID nicht miteintragen.

    Code :
    1
    2
    3
    4
    
    INSERT INTO sys_jobadmin_jobs (daten1, daten2, ...)
    SELECT daten1, daten2, ...
    FROM sys_jobadmin_jobs
    WHERE job_id = '".$_VARS['id']."'
    Hey danke! Das hat geholfen Funktioniert super!
     

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 05.05.07, 19:44
  2. spalten von einer tabelle in eine ander kopieren
    Von BaYan im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 12.04.06, 12:31
  3. Bestimmte Einträge aus einer Tabelle in eine andere Tabelle kopieren
    Von medico im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 29.03.06, 18:42
  4. Antworten: 2
    Letzter Beitrag: 25.08.04, 15:59
  5. Antworten: 8
    Letzter Beitrag: 17.01.03, 14:48