Avatar billede steen_hansen Forsker
16. april 2007 - 00:08 Der er 25 kommentarer og
1 løsning

Hjælp til SQL

I PHPmyAdmin er der en SQL-editor, som jeg skal have lidt hjælp til at benytte:

Hvis jeg skal sætte

dd/mm/yyyy tt:mm:ss

ind i tabellen members (created), hvordan skal linien så se ud?
Avatar billede steen_hansen Forsker
16. april 2007 - 00:15 #1
INSERT INTO members WHERE username = 'BingCrosby' .............
Avatar billede editone Nybegynder
16. april 2007 - 00:23 #2
$dato = date("d/m/Y G:i:s");
'INSERT INTO members WHERE username = 'BingCrosby' (DATA1, DATA2, DATA3, membercreated) values('$DATA1', '$DATA1', '$DATA1', '$dato')
Avatar billede steen_hansen Forsker
16. april 2007 - 00:37 #3
Ok, jeg skal lige have slettet hvad der står i 'created' først, kan du også hjælpe med den? :)

DELETE created from members WHERE username = 'BingCrosby'

ville jeg mene skulle virke, men det gør den ikke ...?
Avatar billede steen_hansen Forsker
16. april 2007 - 00:39 #4
Eller skal der bruges UPDATE?
Avatar billede steen_hansen Forsker
16. april 2007 - 00:59 #5
$dato = date("d/m/Y G:i:s");

skal være

$dato = varchar("d/m/Y G:i:s");

hvis feltet er af typen VARCHAR?
Avatar billede editone Nybegynder
16. april 2007 - 08:12 #6
nej date() er bare en funktion i php, som laver henter datoen på det pågivne tidpunkt.

du kan lave en
$dato = date("d/m/Y G:i:s");

INSERT INTO members (DATA1, DATA2, DATA3, membercreated) values('$DATA1', '$DATA1', '$DATA1', '$dato') WHERE username = 'BingCrosby'

UPDATE members SET DATA1 = '$DATA1', DATA2 = '$DATA2', DATA3 = '$DATA3', membercreated = '$dato' WHERE username = 'BingCrosby'

DELETE FROM members WHERE username = 'BingCrosby'

Der er lige de 3 mysql statements først til at indsætte anden til at opdatere tredje til at slette
Avatar billede dkfire Nybegynder
16. april 2007 - 15:19 #7
Hmmm var det ikke i PHPMyAdmin som steen_hansen ville køre sql. Så kan han da ikke bruge en php funktion. Så er det da kun muligt at bruge sql funktioner.
Avatar billede steen_hansen Forsker
16. april 2007 - 16:28 #8
dkfire: Jo, det er korrekt. Der skal ikke laves nogen date-funktion, jeg skal bare have erstattet 00/00/0000 00:00:00 med dd/mm/yyyy tt:mm:ss, eksempelvis 16/4/2007 16:28:31 :)
Avatar billede dkfire Nybegynder
17. april 2007 - 11:47 #9
Vil du gerne have indsat en bestemt tid, eller skal det bare være hvad tiden er nu ??
Avatar billede steen_hansen Forsker
17. april 2007 - 20:37 #10
Det er jo sådan set ikke tiden, men kun en indikation af dato/klokkeslet. Jeg skal bare have erstattet

00/00/0000 00:00:00

med f.eks.

16/4/2007 16:28:31
Avatar billede dkfire Nybegynder
18. april 2007 - 11:25 #11
NOW() er en tidsfunktion i mysql som du kan bruge. Den vil give dig tiden nu.

noget ala:
UPDATE tabel SET tidsfelt=NOW() WHERE Id = 3
eller:
INSERT INTO tabel (tidsfelt) VALUES (NOW())

Der findes også en del andre tidsfunktioner i mysql, prøv evt at kigge i deres manual, som findes på nettet. Søg efter evt DATE() eller DATE_FORMAT().
Avatar billede steen_hansen Forsker
18. april 2007 - 16:45 #12
Hej dkfire

Dato/klokkeslet er uvedkommende i denne sammenhæng, jeg skal bare have erstattet 00/00/0000 00:00:00 med f.eks. 10/12/2001 15:48:21. Så det må se nogenlunde sådan her ud?

UPDATE tabelnavn SET created="10/12/2001 15:48:21" WHERE username = 'Bettina'

Eller hva'? :)
Avatar billede dkfire Nybegynder
18. april 2007 - 17:16 #13
Noget i den stil.
hvilken type felt er created ?
Avatar billede steen_hansen Forsker
18. april 2007 - 17:31 #14
varchar
Avatar billede steen_hansen Forsker
18. april 2007 - 18:19 #15
Den er lige i øret, smid et svar, dkfire :)
Avatar billede steen_hansen Forsker
18. april 2007 - 18:27 #16
PS: Det var denne, jeg brugte:

UPDATE tabelnavn SET created="10/12/2001 15:48:21" WHERE username = 'Bettina'
Avatar billede dkfire Nybegynder
18. april 2007 - 23:38 #17
Jamen jeg svare da gerne, glad for at hjælpe :-)
Men jeg synes nu du skulle lave dit felt created om til datetime eller time, da det vil hjælpe dig meget mere senere hen. Så kan du gøre brug at alle tidsfunktioner som findes.
Det gør det også nemmere når du skal til at sammenligne datoer.
Hvis du er i tvivl så skriv endelig.
Avatar billede dkfire Nybegynder
18. april 2007 - 23:39 #18
Hov, he he
Avatar billede steen_hansen Forsker
19. april 2007 - 00:49 #19
Jeg takker mange gange :)
Avatar billede steen_hansen Forsker
20. april 2007 - 15:30 #20
Jeg har lige en hurtig (forhåbentlig). Når jeg skal slette fra en tabel, er det så ikke

DELETE * FROM tabel WHERE ID = 214
Avatar billede editone Nybegynder
20. april 2007 - 15:43 #21
Jo
Avatar billede steen_hansen Forsker
20. april 2007 - 15:46 #22
Jeg får bare en fejl på det:

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '* FROM tabel WHERE ID = 50' at line 1
Avatar billede steen_hansen Forsker
20. april 2007 - 15:47 #23
Jeg skulle bare udelade * :)
Avatar billede steen_hansen Forsker
20. april 2007 - 15:47 #24
DELETE FROM tabel WHERE ID = 214
Avatar billede editone Nybegynder
20. april 2007 - 15:57 #25
ja som jeg havde skrevet højere oppe :)
Avatar billede steen_hansen Forsker
20. april 2007 - 16:00 #26
Ok, den missede jeg :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester