Avatar billede far_mand Nybegynder
09. april 2004 - 17:27 Der er 41 kommentarer og
1 løsning

Oprettelse af tabel i mysql database

hej jeg er HELT ny inden for mysql / php / databaser :D
Men jeg har købt et domæne med mysql database og det vil jeg jo forsøge at benytte så godt jeg nu kan :) så jeg har downloadet et næsten færdigt community..
I readme filen stod der at jeg skulle "oprette disse tabeller i din database"!:


  user:
  id - int - not null - auto - primary
  brugernavn - text - null
  password - text - null
  email - text - null
  om - text - null
 
  kategori:
  id - int - not null - auto - primary
  navn - text - null
 
  ukategori:
  id - int - not null - auto - primary
  navn - text - null
 
  source:
  id - int - not null - auto - primary
  title - text - null
  dato - text - null
  count - text - not null
  bruger - text - null
  beskrivelse - text - null
  url - text - null
  kode - text - null
  ukat - text - null
  kategori - text - null
  god - text - null

Og så vidt jeg ved er det bare noget med at man sætter
"CREATE TABLE community (" for an det hele og ");" til slut..
Har jeg prøvet men den melder fejl.. :S
Kan det være fordi at der skal oprettes en tabel til "user", en til "kategori" en til "ukategori" og en til "source"??

HELP ME :D Er alt for dum til det der, men vil jo gerne :D
Avatar billede arne_v Ekspert
09. april 2004 - 17:33 #1
Du skal have en tabel til hver.

CREATE TABLE kategori (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  navn TEXT NULL
);

etc.
Avatar billede arne_v Ekspert
09. april 2004 - 17:34 #2
Overvej kraftigt at lave nogle af de TEXT om til VARCHAR(50) eller lignende.
Avatar billede arne_v Ekspert
09. april 2004 - 17:34 #3
Avatar billede far_mand Nybegynder
09. april 2004 - 22:01 #4
:S Så fx. sourcekoden skal se sådan ud:

CREATE TABLE source (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NULL
dato VARCHAR(50) NULL
count VARCHAR(50) NOT NULL
bruger VARCHAR(50) NULL
beskrivelse VARCHAR(50) NULL
url VARCHAR(50) NULL
kode VARCHAR(50) NULL
ukat VARCHAR(50) NULL
kategori VARCHAR(50) NULL
god VARCHAR(50) NULL
);



Eller ser det helt tåbeligt ud??
Avatar billede arne_v Ekspert
09. april 2004 - 22:06 #5
Måske.

Jeg er dok ikke sikker på at alle skal være VARCHAR(50).

title måske VARCHAR(80)

dato måske DATE

count måske INT

bruger måske VARCHAR(20)

beskrivelse måske TEXT

url måske VARCHAR(255)

etc.

Vælg en længde osm passer til feltet.

Hvis længden skal kunen være længere end 255 angiver du TEXT uden længde, så kan
den være op til 65535.
Avatar billede arne_v Ekspert
09. april 2004 - 22:06 #6
OK ?
Avatar billede arne_v Ekspert
09. april 2004 - 22:07 #7
Nu står der at dato og count skal være text, så måske skal de være VARCHAR(20)
Avatar billede far_mand Nybegynder
09. april 2004 - 22:13 #8
Sådan så?..

CREATE TABLE source (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(80) NULL
date VARCHAR(20) NULL
count INT VARCHAR(20) NOT NULL
bruger VARCHAR(50) NULL
beskrivelse TEXT NULL
url VARCHAR(255) NULL
kode VARCHAR(50) NULL
ukat VARCHAR(50) NULL
kategori VARCHAR(50) NULL
god VARCHAR(50) NULL
);
Avatar billede far_mand Nybegynder
09. april 2004 - 22:14 #9
Sidder og sover.. har kun fået 2timers søvn de sidste 24timer..
må se på det imorgen..
Avatar billede arne_v Ekspert
09. april 2004 - 22:15 #10
Ja (du mangler lige at slette INT ved count)
Avatar billede far_mand Nybegynder
10. april 2004 - 16:51 #11
Så..

CREATE TABLE source (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(80) NULL
date VARCHAR(20) NULL
count VARCHAR(20) NOT NULL
bruger VARCHAR(50) NULL
beskrivelse TEXT NULL
url VARCHAR(255) NULL
kode VARCHAR(50) NULL
ukat VARCHAR(50) NULL
kategori VARCHAR(50) NULL
god VARCHAR(50) NULL
);

Men ved du hvor man kan lære hvad alt det betyder, int, varchar(50) osv.osv..
Avatar billede arne_v Ekspert
10. april 2004 - 16:55 #12
http://dev.mysql.com/doc/mysql/en/Column_types.html

giver en oversigt over MySQL's typer.
Avatar billede far_mand Nybegynder
10. april 2004 - 17:06 #13
Jeg tænker mere på en side hvor der står en kort list over mest naturlige "ord"

fx. hvis jeg skulle oversætte denne sætning: id - int - not null - auto - primary
Så hvilke ord og hvordan jeg skulle skrive det :D

Syntes det er lidt uoverskuligt den side du skrev..
Avatar billede far_mand Nybegynder
10. april 2004 - 17:08 #14
Database: freeak_dk kører på localhost
Fejl

SQL-forespørgsel : 

CREATE TABLE source(

id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
title VARCHAR( 80 ) NULL date VARCHAR( 20 ) NULL count VARCHAR( 20 ) NOT NULL bruger VARCHAR( 50 ) NULL beskrivelse TEXT NULL url VARCHAR( 255 ) NULL kode VARCHAR( 50 ) NULL ukat VARCHAR( 50 ) NULL kategori VARCHAR( 50 ) NULL god VARCHAR( 50 ) NULL
)

MySQL returnerede:


#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 'date VARCHAR( 20  )  NULL count VARCHAR( 20  )  NOT  NULL bruge
Avatar billede arne_v Ekspert
10. april 2004 - 18:14 #15
Hov der mangler kommaer !

Der skal være komma mellem felt definitionerne (=efter alle felt definitioner
undtagen den sidste).
Avatar billede arne_v Ekspert
10. april 2004 - 18:14 #16
Jeg tror at du skal have fat i en tutorial til SQL.
Avatar billede arne_v Ekspert
10. april 2004 - 18:15 #17
Avatar billede far_mand Nybegynder
10. april 2004 - 18:38 #18
CREATE TABLE source (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(80) NULL,
date VARCHAR(20) NULL,
count VARCHAR(20) NOT NULL,
bruger VARCHAR(50) NULL,
beskrivelse TEXT NULL,
url VARCHAR(255) NULL,
kode VARCHAR(50) NULL,
ukat VARCHAR(50) NULL,
kategori VARCHAR(50) NULL,
god VARCHAR(50) NULL
);

Prøver emd det :D
Avatar billede far_mand Nybegynder
10. april 2004 - 19:05 #19
CREATE TABLE user
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
brugernavn TEXT NUll,
password - TEXT NUll,
email TEXT NUll,
om TEXT NUll
);

Der er noget galt med "brugernavn", "email" og "om"
Avatar billede arne_v Ekspert
10. april 2004 - 19:24 #20
Der er en - i linien med password som ikke skal være der.
Avatar billede far_mand Nybegynder
10. april 2004 - 19:52 #21
er det ikke noget med at ved password skal der ikke stå text, men "PASSWORD"? eks: password - password NUll,
Avatar billede far_mand Nybegynder
10. april 2004 - 19:54 #22
CREATE TABLE user (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
brugernavn TEXT NULL,
password TEXT NULL,
email TEXT NULL,
om TEXT NUll
);

Den melder fejl
Avatar billede arne_v Ekspert
10. april 2004 - 20:03 #23
Hvilken fejl ?

Gæt: enten user eller password er reserverede ord.

Prøv at back ticke dem.

CREATE TABLE `user` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
brugernavn TEXT NULL,
`password` TEXT NULL,
email TEXT NULL,
om TEXT NUll
);
Avatar billede arne_v Ekspert
10. april 2004 - 20:04 #24
Du burde finde nogle andre felt navne, men hvis dit community forventer de navne, så ...
Avatar billede far_mand Nybegynder
10. april 2004 - 20:51 #25
JEg tror at det forventer de navne.. :)
Avatar billede far_mand Nybegynder
10. april 2004 - 20:52 #26
CREATE TABLE `user` (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
brugernavn TEXT NULL,
`password` TEXT NULL,
email TEXT NULL,
om TEXT NUll
);

Den virkede :D hvad gør det tegn " ` "  ??
Avatar billede far_mand Nybegynder
10. april 2004 - 20:56 #27
www.freeak.dk/community/forsiden.php

Den melder stadig lidt fejl bl.a. i "Cont filen" som ser sådan ud
(linie 2+3)

<?php
$connection = mysql_connect("LOCALHOST","freeak_dk","Mit pass har jeg skrevet her");
mysql_select_db("DATABASE", $connection);
?>
Avatar billede far_mand Nybegynder
10. april 2004 - 20:57 #28
ups..

Den skal nok se sådan ud:

<?php
$connection = mysql_connect("LOCALHOST","freeak_dk","Mit pass har jeg skrevet her");
mysql_select_db("freeak_dk", $connection);
?>
Avatar billede far_mand Nybegynder
10. april 2004 - 21:17 #29
Nej, stadig fejl på linie 2 + 3
Avatar billede far_mand Nybegynder
10. april 2004 - 21:28 #30
har hvis rettet noget, nu er der kun fejl i linie 2 står der

<?php
$connection = mysql_connect("LOCALHOST"(111),"freeak_dk","Mit pass har jeg skrevet her");
mysql_select_db("freeak_dk", $connection);
?>
Avatar billede far_mand Nybegynder
10. april 2004 - 21:30 #31
Parse error: parse error in /customers/freeak.dk/freeak.dk/httpd.www/community/cont.php on line 2
siger den..
Avatar billede far_mand Nybegynder
10. april 2004 - 21:40 #32
er det ikk som om der mangler en slags connect tabel i mysqlen??
Avatar billede far_mand Nybegynder
10. april 2004 - 21:41 #33
$connection = mysql_connect
Vil jeg skyde på at betyder at den skal connecte til den, men sådan en er der jo ikke i mysqlen :D
der er kun dem der står øverst..

Men aner det ikke.. :)
Avatar billede arne_v Ekspert
10. april 2004 - 22:45 #34
back ticks gør det muligt at bruge reserverede ord som navne
Avatar billede arne_v Ekspert
10. april 2004 - 22:46 #35
Jeg er ikke skrap til PHP.

Normalt vil bruge "localhost" med mså bogstaver, men det burde ikke betyde noget.
Avatar billede arne_v Ekspert
10. april 2004 - 22:58 #36
Det her eksempel virker hos mig:

<?php
$con = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("Test") or die(mysql_error());
$rs = mysql_query("SELECT * FROM T1") or die(mysql_error());
while ($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {
    print $row["F1"] . " " . $row["F2"] . "\n";
}
mysql_free_result($rs);
mysql_close($con);
?>
Avatar billede arne_v Ekspert
10. april 2004 - 22:58 #37
... or die(mysql_error())

er meget god fordi så får man at vide hvad en evt. runtime fejl er.
Avatar billede far_mand Nybegynder
11. april 2004 - 10:16 #38
Tak, du haar godt nok været til stor hjælp..
Har du messenger elelr lign. ?
Avatar billede arne_v Ekspert
11. april 2004 - 10:34 #39
Nej - jeg er så gammel, at jeg kun bruger email - ingen IM.
Avatar billede far_mand Nybegynder
11. april 2004 - 11:11 #40
hehe
Avatar billede far_mand Nybegynder
11. april 2004 - 11:12 #41
Har du en hjemmeside?..
Avatar billede arne_v Ekspert
11. april 2004 - 11:26 #42
Nu er jeg ikke så svær at finde. Der står faktisk fuld navn hvis du klikker på
mit brugernavn.

Hvis du vil sende email kan du skrive til arne_v@mail.danbbs.dk
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