Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Primärschlüsselfehler bei insert Statement

Frage Entwicklung Datenbanken

Mitglied: dax4fun

dax4fun (Level 1) - Jetzt verbinden

26.02.2015, aktualisiert 02.03.2015, 688 Aufrufe, 6 Kommentare

Hi liebe Leute,

info: habe bei einer DB per select die gewünschten Daten abgefragt und in eine csv gesichert.
Habe zur Probe eine Zeile zurück schreiben wollen, dann kam das Problem mit dem Primärschlüssel

Ich muss wahrscheinlich etwas ändern damit es geht aber was???
01.
INSERT INTO "WORK" ("UID", ...) VALUES ('C776CCAB70188444805687530AA209DB', ...);
bei Metadata hab ich das gefunden
01.
CONSTRAINT "PK_WORK" PRIMARY KEY ("UID") 
02.
;
Interbase 6.0
mfG

Mitglied: AndreasHoster
26.02.2015 um 16:59 Uhr
UID sollte eindeutig sein.
Erneut dieselbe UID reinschreiben ist nicht zulässig.
Bitte warten ..
Mitglied: dax4fun
26.02.2015 um 17:13 Uhr
hi @AndreasHoster

Ist mir Klar, aber wie kann ich einen neuen PS generieren ?? gibts da einen sql befehl der einen neuen PS generiert weil die DB ist Leer wo ich die Daten versuche zu kopieren (Struktur ist vorhanden).

hmm
Bitte warten ..
Mitglied: Gersen
27.02.2015, aktualisiert um 12:37 Uhr
Hallo,

in der Regel wird der Primary Key per "Autoincrement"-Generator angelegt. D.h., die Datenbank vergibt den Wert selbst beim Einfügen eines Datensatzes (s.a. hier und hier).
Versuch doch mal Deinen INSERT-Befehl ohne das Feld "UID" und den Wert (alternativ: mit Feld "UID" und Wert 0).

Gruß,
Gersen
Bitte warten ..
Mitglied: dax4fun
27.02.2015, aktualisiert um 20:45 Uhr
Hi Gersten,
Hab ich Versucht ohne UID und ohne Wert -> error (noch nicht probiert UID mit wert 0 wird das funktionieren wenn Feld NOT NULL ist ) werd ich noch versuchen...

Ich hab ein wenig rekursiv gedacht und eine andere Lösung gefunden brauche aber eine Bestätigung ob es ok ist :

Idee 1 wO. : DB voll -> gebrauchte Daten speichern -> neue DB ----> Daten zurück

Idee 2 : DB voll -> nicht gebrauchte Daten löschen -> Backup -> Restore

Ist Idee 2 genau so wie eine Neue DB, da alle Daten die älter als 7 Tage gelöscht werden und durch Restore die DB optimiert wird ????

Mit freundlichen Grüßen
dax
Bitte warten ..
Mitglied: Gersen
LÖSUNG 02.03.2015, aktualisiert um 21:50 Uhr
Hallo,

Idee 1 ist n.m.M. keine Lösung, da eine DB erzeugt wird, die ebenso voll ist, oder?
Idee 2 ist für wichtige Produktiv-Daten gefährlich - geht beim Löschen etwas schief, ist Feierabend. Sicherer wäre:

DB --> Backup1 --> nicht gebrauchte Daten löschen --> Backup2 --> Restore aus Backup2. Bei Fehlern kann man immer noch Backup1 "restorieren".

Gruß,
Gersen
Bitte warten ..
Mitglied: dax4fun
02.03.2015 um 21:50 Uhr
Hallo Gersen,

Stimmt, Idee 2 ist ein wenig gefährlich aber ich mach ja sowieso ein Backup auf Dateiebene, ohne das etwas geändert wird somit hab ich alle Daten. Bei der Weiterverarbeitung geschiet alles auf der tempDB.

Und ich bin ja auch noch da

Viel Spass noch und Danke dir für deine Unterstützung

mfG dax
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst SQL-Statement in Excel .dqy Query - (Zeitrahmen) funktioniert nicht ? (6)

Frage von Schelinho zum Thema Datenbanken ...

Datenbanken
gelöst Access 2010 Insert Into bei Fehler Msgbox (2)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

PHP
gelöst PHP statements mit PHp erzeugen (4)

Frage von Lorderich zum Thema PHP ...

Neue Wissensbeiträge
Viren und Trojaner

FinFisher: Internetprovider schieben Spitzelopfern Malware unter

(1)

Information von kaiand1 zum Thema Viren und Trojaner ...

Humor (lol)

Wo ist der Fehler auf dem Bild?

(17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Userverwaltung
Ordner-Rechte für Dom.Admin einschränken? (13)

Frage von kilobyte zum Thema Windows Userverwaltung ...