【发布时间】:2014-11-21 14:00:19
【问题描述】:
所以我不熟悉使用多个表。在今天之前,1 张桌子适合我的需要(我可能也可以在这里使用 1 张桌子)。
我正在为我玩的游戏创建一个插件,但我正在使用 MySQL 数据库来存储所有信息。我有 3 张桌子,Players、Warners 和 Warns。 Warns 中有 2 个外键(一个引用 Players,另一个引用 Warners)。
目前我需要做 3 个查询。将信息添加到 Players & Warners,然后添加到 Warns。有没有办法可以减少查询量?如果我只省略前 2 个查询会发生什么?
查询示例:
INSERT INTO slimewarnsplayers VALUES ('123e4567-e89b-12d3-a456-426655440000', 'Spedwards');
INSERT INTO slimewarnswarners VALUES ('f47ac10b-58cc-4372-a567-0e02b2c3d479', '_Sped');
INSERT INTO slimewarnswarns VALUES ('', '123e4567-e89b-12d3-a456-426655440000', 'f47ac10b-58cc-4372-a567-0e02b2c3d479', 'spamming', 'medium');
表格:
CREATE TABLE IF NOT EXISTS SlimeWarnsPlayers (
uuid VARCHAR(36) NOT NULL,
name VARCHAR(26) NOT NULL,
PRIMARY KEY (uuid)
);
CREATE TABLE IF NOT EXISTS SlimeWarnsWarners (
uuid VARCHAR(36) NOT NULL,
name VARCHAR(26) NOT NULL,
PRIMARY KEY (uuid)
);
CREATE TABLE IF NOT EXISTS SlimeWarnsWarns (
id INT NOT NULL AUTO_INCREMENT,
pUUID VARCHAR(36) NOT NULL,
wUUID VARCHAR(36) NOT NULL,
warning VARCHAR(60) NOT NULL,
level VARCHAR(60) NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (pUUID) REFERENCES SlimeWarnsPlayers(uuid),
FOREIGN KEY (wUUID) REFERENCES SlimeWarnsWarners(uuid)
);
【问题讨论】:
标签: mysql sql sql-insert