/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
tømme en tabel for records ?
Fra : SpookiePower


Dato : 02-04-07 14:19

Jeg har en tabel med flere tusinder records.
Denne tabel vil jeg gerne have tømt helt, men
hvordan jeg gør dette er jeg lidt i tvivl om.

Jeg benytter phpmyadmin og kan se at man har den
mulighed der hedder Empty, hvis man har valgt en
tabel vil denne funktion tømme tabellen eller
vil den slette den ? hvilket jo ikke er meningen.


--
My Photo Gallery
www.photo.box2600.dk

 
 
Thorbjørn Ravn Ander~ (02-04-2007)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 02-04-07 14:36

SpookiePower <boxjunk2600@gmail.com> writes:

> Jeg har en tabel med flere tusinder records.
> Denne tabel vil jeg gerne have tømt helt, men
> hvordan jeg gør dette er jeg lidt i tvivl om.

Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
med "DELETE * FROM TABEL".
--
Thorbjørn Ravn Andersen

SpookiePower (02-04-2007)
Kommentar
Fra : SpookiePower


Dato : 02-04-07 14:50

Thorbjørn Ravn Andersen wrote:

> Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
> med "DELETE * FROM TABEL".

Takker.

Jeg fandt ud af at truncate også virkede.

Thorbjørn Ravn Ander~ (02-04-2007)
Kommentar
Fra : Thorbjørn Ravn Ander~


Dato : 02-04-07 19:25

SpookiePower <boxjunk2600@gmail.com> writes:

> > Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
> > med "DELETE * FROM TABEL".
>
> Takker.
>
> Jeg fandt ud af at truncate også virkede.

Truncate er MySQL-specifik. Delete er standard SQL (eventuelt
efterfulgt af en commit).
--
Thorbjørn Ravn Andersen

Kristian Damm Jensen (02-04-2007)
Kommentar
Fra : Kristian Damm Jensen


Dato : 02-04-07 20:07

"Thorbjørn Ravn Andersen" wrote:
> SpookiePower <boxjunk2600@gmail.com> writes:
>
>>> Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
>>> med "DELETE * FROM TABEL".
>>
>> Takker.
>>
>> Jeg fandt ud af at truncate også virkede.
>
> Truncate er MySQL-specifik. Delete er standard SQL (eventuelt
> efterfulgt af en commit).

Truncate findes også i SQLServer - både Microsoft og Sybase udgaven.
Forskellen mellem truncate og delete, er at delete skrives i loggen.
truncate sletter, punktum.

--
Venlig hilsen /Best regards
Kristian Damm Jensen



Peter Brodersen (03-04-2007)
Kommentar
Fra : Peter Brodersen


Dato : 03-04-07 00:15

On Mon, 2 Apr 2007 21:07:13 +0200, "Kristian Damm Jensen"
<kristiandamm@yahoo.dk> wrote:

>Truncate findes også i SQLServer - både Microsoft og Sybase udgaven.
>Forskellen mellem truncate og delete, er at delete skrives i loggen.
>truncate sletter, punktum.

For den MySQL-specifikke auto_increment-option vil det også nulstille
counteren. Man kan eventuelt mentalt betragte TRUNCATE som en
administrativ "start forfra"-rutine, mens DELETE sagtens kunne
forekomme i den normale drift.

--
- Peter Brodersen
Kendt fra Internet

Carsten Pedersen (03-04-2007)
Kommentar
Fra : Carsten Pedersen


Dato : 03-04-07 09:31

Thorbjørn Ravn Andersen wrote:
> SpookiePower <boxjunk2600@gmail.com> writes:
>
>>> Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
>>> med "DELETE * FROM TABEL".
>> Takker.
>>
>> Jeg fandt ud af at truncate også virkede.
>
> Truncate er MySQL-specifik. Delete er standard SQL (eventuelt
> efterfulgt af en commit).

TRUNCATE blev faktisk opfundet af Oracle, og er siden blevet en
de-facto standard i de fleste rdbms'er.

/ Carsten

Ukendt (02-04-2007)
Kommentar
Fra : Ukendt


Dato : 02-04-07 17:04

On 02 Apr 2007 15:36:27 +0200, nospam0000@gmail.com (Thorbjørn Ravn
Andersen) wrote:

>Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i stil
>med "DELETE * FROM TABEL".

"delete" er ingen god ide i en tabel med mange records og mange
indexes - Det tager laaaaaang tid.
"truncate" er løsningen.

/Alex

Morten Snedker (24-04-2007)
Kommentar
Fra : Morten Snedker


Dato : 24-04-07 09:59

On Mon, 02 Apr 2007 18:04:22 +0200, Alex Linaa <www.linaa.com> wrote:


>"delete" er ingen god ide i en tabel med mange records og mange
>indexes - Det tager laaaaaang tid.
>"truncate" er løsningen.

Blot skal man også lige huske på, at TRUNCATE nulstiller evt.
fortløbende nøgler (i hvertfald på MS-SQL).

mvh
--
Morten Snedker
http://www.planprojekt.dk | http://www.dbconsult.dk
Privat: http://www.vinthervej2.dk

Jens Gyldenkærne Cla~ (03-04-2007)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 03-04-07 00:19

Thorbjørn Ravn Andersen skrev:

> Prøv at kigge på SQL-kommandoen "DELETE". Svjh er det noget i
> stil med "DELETE * FROM TABEL".

Andre har kommenteret mht. TRUNCATE. Jeg vil bare nævne at en
DELETE-sætning hverken kan eller skal specificere felter - derfor
er syntaksen DELETE FROM tabel - ikke DELETE * FROM tabel (selv om
udgaven med stjerne virker i Access og måske også i MySQL).

En sletteforespørgsel arbejder på postniveau og kan derfor kun
slette hele poster - ikke værdier i enkelte felter.

--
Jens Gyldenkærne Clausen
»Diplomatiet består netop i, at de gamle kommatister kan få lov til
at tro, at de har vundet. Men i virkeligheden har de tabt.«
Ole Togeby i Information

Henrik Stidsen (02-04-2007)
Kommentar
Fra : Henrik Stidsen


Dato : 02-04-07 14:51

SpookiePower wrote on 02-04-2007 :
> Jeg benytter phpmyadmin og kan se at man har den
> mulighed der hedder Empty, hvis man har valgt en
> tabel vil denne funktion tømme tabellen eller
> vil den slette den ? hvilket jo ikke er meningen.

"Empty" sletter alle records i tabellen.

Du kan også bare skrive:
TRUNCATE <tabelnavn>;

Det tømmer tabellen og det kan ikke fortrydes. Til gengæld går det
stærkt.

--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
Never tell anyone that you're: writing a book, going on a diet,
exercising, taking a course, or quitting smoking. They'll encourage you
to death. - Lynn Johnston



Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste