Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi INT Feld (Primary Key) auf NULL setzen? (https://www.delphipraxis.net/56578-int-feld-primary-key-auf-null-setzen.html)

alzaimar 8. Nov 2005 20:43

Re: INT Feld (Primary Key) auf NULL setzen?
 
Zitat:

Zitat von Jelly
Hier nochmals zum Mitschreiben:
SQL-Code:
dbcc checkident (Tabellenname, reseed, 2)
im Query Analyzer eingeben und gut ist. 2 ist der neue Identity Wert. Der nächtste Datenstz kriegt also die Nummer 3 verpasst.

Vorsicht aber bei solchen Spielereien. Besitzt die Tabelle noch einen Datensatz mit ID 3 schlägt jeder Insert Befehl fehl da sonst ein doppelter Primary Key erzeugt werden würde.

Man (also ich) lernt nie aus, Danke! Muss gerade ein Skript zum Killen einer DB fertigmachen und da kommt mir das doch gerade recht.

:cheers:

Jelly 8. Nov 2005 20:50

Re: INT Feld (Primary Key) auf NULL setzen?
 
Zitat:

Zitat von alzaimar
:cheers:

Na da stoss ich doch mit an :cheers:

mschaefer 9. Nov 2005 09:00

Re: INT Feld (Primary Key) auf NULL setzen?
 
Moin, moin,
Zitat:

Zitat von Jelly
Zitat:

Zitat von alzaimar
:cheers:

Na da stoss ich doch mit an :cheers:

Das ist doch mal ein schöner Verlauf für einen Thread :cheers: !

Grüße // Martin

DevilsCamp 9. Nov 2005 11:18

Re: INT Feld (Primary Key) auf NULL setzen?
 
Zu Wort meld:

Bei MySQL gibt es den Befehl 'TRUNCATE'. Damit leert man eine Tabelle, setzt den AutoInc-Wert wieder auf 0 usw.

Vielleicht gibt es den auch bei MSSQL?

So wird er bei MySQL benutzt:
SQL-Code:
TRUNCATE `tabelle`

Jelly 9. Nov 2005 11:21

Re: INT Feld (Primary Key) auf NULL setzen?
 
Zitat:

Zitat von DevilsCamp
Vielleicht gibt es den auch bei MSSQL?

:wall: Ja, den gibts da auch. Löscht alle Datensätze und setzt die Identity wieder auf 0.

alzaimar 9. Nov 2005 12:26

Re: INT Feld (Primary Key) auf NULL setzen?
 
Truncate klappt nicht, wenn man foreign keys hat. Egal ob die verletzt werden würden, oder nicht. Dann muss man 'Delete' verwenden.
Truncate löscht Seitenweise, geht wesentlich schneller als Delete und müllt das Log nicht voll, aber der Nachteil ist eben, das man keine FKs haben darf. Insofern ist das :wall: nicht nötig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:25 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz