|
|
 | 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 |
| | |
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
| |
|
|