[MySQL] Alleen data uit bepaalde columns deleten?

Pagina: 1
Acties:
  • 212 views sinds 30-01-2008

  • Dr.Bob
  • Registratie: November 1999
  • Laatst online: 14-08 10:48

Dr.Bob

Dr.Bob says: HEAL!

Topicstarter
Ik wil een paar columns uit een tabel leeg maken, en anderen dus gewoon in tact laten. Het lukt mij niet met de naar mijn idee meest logische querie:
PHP:
1
2
3
<?
DELETE column_naam FROM tabel
?>

Dacht dat ie er misschien nog een WHERE bij nodig had, dus heb 't ook nog geprobeerd als
PHP:
1
2
3
<?
DELETE column_naam FROM tabel WHERE id > 0
?>

Maareh ... dus ook niet. Iemand een verlossend antwoord?
Ik wil trouwens meerdere columns leeg maken die allemaal beginnen met de letter 'q' (q1_blabla, q2_blabla, q3_blabla) kan je ook een *wildcard* delete doen dan zo van: DELETE q* from tabel en dat ze dan allemaal leeg worden?

Thanx, Dr.B

NERDCORE FOR LIFE


  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 13-09 12:47

TheDane

1.618

wat wil je nou precies ?

de kolom verwijderen , of de alleen de data die in de kolom staat ??


in geval 1:

temp tabel aanmaken, alle values copieeren, oude tabel weggooien, opnieuw aanmaken, maar dan met alleen de kolommen die je wil hebben, en de betreffende waardes uit temp tabel terugcopieeren

in geval 2:

update tabel set kolomnaam = '';

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:38
Een Delete deleted een of meerdere volledige rijen in een tabel. Om bepaalde kolommen op NULL te zetten, kan je een UPDATE statement gebruiken.
Wil je die kolommen eigenlijk daadwerkelijk uit de tabel verwijderen (bv. een column 'naam' uit de tabel 'persoon' verwijderen, dan zal je een ALTER TABLE moeten doen.

https://fgheysels.github.io/


  • Dr.Bob
  • Registratie: November 1999
  • Laatst online: 14-08 10:48

Dr.Bob

Dr.Bob says: HEAL!

Topicstarter
TheDane, thanks dat issem, met die UPDATE. Ja, ik bedoelde dus alleeeeen de data eruit, niet de columns trashen.

En iemand nog een idee hoe te wildcardten om elke met q* leeg te maken?

NERDCORE FOR LIFE


  • whoami
  • Registratie: December 2000
  • Laatst online: 09:38
LIKE 'q%'

https://fgheysels.github.io/


  • MisterData
  • Registratie: September 2001
  • Laatst online: 07-09 20:23
Eehm ALTER TABLE misschien :?

  • Dr.Bob
  • Registratie: November 1999
  • Laatst online: 14-08 10:48

Dr.Bob

Dr.Bob says: HEAL!

Topicstarter
Op vrijdag 08 februari 2002 16:04 schreef whoami het volgende:
LIKE 'q%'
Ja, ik weet dat je met LIKE kan wildcarten, maar ik snap niet (en ook niet n.a.w. de MySQL tutorial) hoe ik die query dan zou moeten formuleren ...

UPDATE tabel SET ?? WHERE ?? ""

Anyone?

NERDCORE FOR LIFE


  • whoami
  • Registratie: December 2000
  • Laatst online: 09:38
code:
1
2
3
update tabel
set veld = '' 
where veld like 'q%'

https://fgheysels.github.io/


Verwijderd

Op vrijdag 08 februari 2002 16:11 schreef MisterData het volgende:
Eehm ALTER TABLE misschien :?
Ja dat d8 ik ook. Zoek es in een boekje naar ALTER
ALTER TABLE tabelnaam ADD soort char(1) droppen kan dan toch ook of niet ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:38
Op vrijdag 08 februari 2002 16:31 schreef Zoepnek het volgende:

[..]

Ja dat d8 ik ook. Zoek es in een boekje naar ALTER
ALTER TABLE tabelnaam ADD soort char(1) droppen kan dan toch ook of niet ?
Lees eens de volledige post door vooraleer je replied. Dan zul je zien dat hij die column niet weg wil hebben uit z'n table, maar de waarde in die column gewoon op NULL wil zetten. Een UPDATE statement dus.

https://fgheysels.github.io/


  • Dr.Bob
  • Registratie: November 1999
  • Laatst online: 14-08 10:48

Dr.Bob

Dr.Bob says: HEAL!

Topicstarter
Maar ALTER is toch om de columnnamen of typen ofzo te wijzigen of nieuwe columns toe te voegen?

NERDCORE FOR LIFE


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Standaard SQL vraag, Lees eens een manual over SQL speciaal over de UPDATE functie en hoe deze werkt.

Te laag niveau.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.