Autor Zpráva
Tirus
Profil
Lidi, nějak nechápu jak následující SQL tabulky mohu dát do MySQL.. Mám pouze phpmyAdmin, vše asi bych zvládl, jen nechápu jak se dělají kaskády a reference...
pomohli by jste mi prosím?
CREATE TABLE IF NOT EXISTS PrWorlds (
 worldid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 worldname VARCHAR(32) NOT NULL UNIQUE
);

CREATE TABLE IF NOT EXISTS PrEntries (
 entryid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 name VARCHAR(32) NOT NULL,
 worldid INTEGER NOT NULL,
 type TINYINT NOT NULL,
 CONSTRAINT NameWorld UNIQUE (name, worldid, type),
 ENTRYINDEX,
 FOREIGN KEY(worldid) REFERENCES PrWorlds(worldid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrPermissions (
 permid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 permstring VARCHAR(64) NOT NULL,
 entryid INTEGER NOT NULL,
 CONSTRAINT PrEntryPerm UNIQUE (entryid, permstring),
 FOREIGN KEY(entryid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrInheritance (
 uinheritid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 childid INTEGER NOT NULL,
 parentid INTEGER NOT NULL,
 parentorder INTEGER NOT NULL,


 CONSTRAINT PrParent UNIQUE (childid, parentid),
 CONSTRAINT PrOrderedInheritance UNIQUE (childid, parentorder),
 CONSTRAINT PrNoSelfInherit CHECK (childid <> parentid),
 FOREIGN KEY(childid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY(parentid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrWorldBase (
 worldid INTEGER NOT NULL,
 defaultid INTEGER,
 FOREIGN KEY(worldid) REFERENCES PrWorlds(worldid) ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY(defaultid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrData (
 dataid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 entryid INTEGER NOT NULL ,
 path VARCHAR(64) NOT NULL,
 data VARCHAR(64) NOT NULL,
 CONSTRAINT PrDataUnique UNIQUE (entryid, path),
 FOREIGN KEY(entryid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrTracks (
 trackid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 trackname VARCHAR(64) NOT NULL UNIQUE,
 worldid INTEGER NOT NULL,
 CONSTRAINT TracksUnique UNIQUE (trackid, worldid),
 FOREIGN KEY(worldid) REFERENCES PrWorlds(worldid) ON DELETE CASCADE ON UPDATE CASCADE
);

CREATE TABLE IF NOT EXISTS PrTrackGroups (
 trackgroupid INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
 trackid INTEGER NOT NULL,
 gid INTEGER NOT NULL,
 groupOrder INTEGER NOT NULL,
 CONSTRAINT TrackGroupsUnique UNIQUE (trackid, gid),
 FOREIGN KEY(trackid) REFERENCES PrTracks(trackid) ON DELETE CASCADE ON UPDATE CASCADE,
 FOREIGN KEY(gid) REFERENCES PrEntries(entryid) ON DELETE CASCADE ON UPDATE CASCADE
);
CATerPILAR
Profil
Tirus:
nechápu jak následující SQL tabulky mohu dát do MySQL
V phpmyadminovi si otevři záložku SQL a tabulky tam vlož a dej Provést.
TomášK.
Profil *
Tirus:
Kaskády a reference se v MySQL zapisují přesně tak, jak je máš. AUTO_INCREMENT je s podtržítkem, ENTRYINDEX neznám, MySQL pravděpodobně také ne. Zbytek se mi zdá v pořádku.
Kajman_
Profil *
Pro cizí klíče používejte typ tabulek InnoDB. Pro jejich editaci můžete zkusit třeba i Adminer.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0