07. august 2003 - 16:34
#26
Det vil sige koden kommer til at se sådan her ud:
USE mindatabase;
DROP TABLE IF EXISTS
categories;
CREATE TABLE
maincats
(
id TINYINT unsigned NOT NULL auto_increment,
name VARCHAR(30) default NULL,
active TINYINT default '1',
UNIQUE (name),
PRIMARY KEY (id)
);
INSERT INTO
maincats
VALUES
(1, 'EClone', 1),
(2, 'Anything Else', 1);
DROP TABLE IF EXISTS
subcats;
CREATE TABLE
subcats
(
id SMALLINT unsigned NOT NULL auto_increment,
parent TINYINT unsigned NOT NULL,
name VARCHAR(30) default NULL,
description TINYTEXT,
INDEX (name),
PRIMARY KEY (id)
);
INSERT INTO
subcats
VALUES
(1, 1, 'Bugs', 'Bug reports on EClone should be posted here.'),
(2, 1, 'Suggestions', 'Suggestions to features on EClone should be posted here.'),
(3, 2, 'Anything', 'Anything not related to EClone should be posted here.');
CREATE TABLE
nickchanges
(
id INT unsigned NOT NULL auto_increment,
oldname VARCHAR(20) default NULL,
newname VARCHAR(20) default NULL,
changedate TIMESTAMP(14) NOT NULL,
uid INT unsigned default NULL,
PRIMARY KEY (id)
);
CREATE TABLE
onlineusers
(
id INT unsigned NOT NULL auto_increment,
sessionid VARCHAR(32) default NULL,
timeout INT unsigned default NULL,
PRIMARY KEY (id)
);
CREATE TABLE
posts
(
id INT unsigned NOT NULL auto_increment,
qid INT unsigned default NULL,
userid INT unsigned default NULL,
ptext TEXT,
points float default '0',
ptype TINYINT unsigned default '1',
posted TIMESTAMP(14) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE
questions
(
id INT unsigned NOT NULL auto_increment,
userid INT unsigned default NULL,
catid TINYINT unsigned default NULL,
subject TINYTEXT,
qtext TEXT,
files TEXT NOT NULL,
points MEDIUMINT unsigned default NULL,
edited TIMESTAMP(14) NOT NULL,
created TIMESTAMP(14) NOT NULL,
locked TINYINT(1) default '0',
deadline INT unsigned default '0',
status TINYINT unsigned default '1',
PRIMARY KEY (id)
);
CREATE TABLE
questionsubs
(
id INT unsigned NOT NULL auto_increment,
qid INT unsigned default NULL,
userid INT unsigned default NULL,
ismailed TINYINT unsigned default '0',
FOREIGN KEY (userid)
REFERENCES users (id)
ON DELETE CASCADE,
PRIMARY KEY (id)
);
CREATE TABLE
users
(
id SMALLINT unsigned NOT NULL auto_increment,
username VARCHAR(20) default NULL,
password VARCHAR(32) default NULL,
extrapoints INT default '300',
points INT unsigned default '300',
created datetime default NULL,
userlevel TINYINT unsigned default '1',
status TINYINT unsigned default '1',
UNIQUE (username),
PRIMARY KEY (id)
);
INSERT INTO
users
VALUES
(1, 'admin', MD5('admin'), 300, 300, NOW(), 3, 2);
CREATE TABLE
userprofile
(
id INT unsigned NOT NULL auto_increment,
userid INT unsigned default NULL,
email VARCHAR(255),
emailcode VARCHAR(32) default NULL,
emailpublic TINYINT default '0',
icq INT unsigned default '0',
realname TINYTEXT,
menuboxes TINYINT unsigned default '254',
dob INT unsigned default '0',
sendonlyone TINYINT default '0',
profiletext TEXT,
listingsize TINYINT unsigned default '20',
owntext VARCHAR(6) default '800000',
picture CHAR(3) default '',
categories TINYTEXT,
UNIQUE (email),
INDEX (userid, email, picture),
FOREIGN KEY (userid)
REFERENCES users (id)
ON DELETE CASCADE,
PRIMARY KEY (id)
);
INSERT INTO
userprofile
VALUES
(1, 1, 'admin@admin', NULL, 0, 0, NULL, 56, 0, 0, 'Initial Administrator Account!', 0, '000000', NULL, '');