我不知道如此变异的mysql,但我有错误,我不知道为什么。这是代码:
USE MServers;
DROP PROCEDURE IF EXISTS `Init`
DELIMITER //
CREATE PROCEDURE `Init`()
BEGIN
DROP TABLE IF EXISTS `Users`;
DROP TABLE IF EXISTS `Ranks`;
DROP TABLE IF EXISTS `PBattles`;
CREATE TABLE `Users` (
`ID` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`),
INDEX(`ID`),
`username` CHARACTER VARYING(30) NOT NULL,
`uuid` CHARACTER VARYING(36) NOT NULL,
`rank` INT(1) NOT NULL DEFAULT '0'
);
CREATE TABLE `Ranks` (
`ID` INT(1) NOT NULL,
UNIQUE KEY `ID` (`ID`),
`rank` varchar(10) NOT NULL,
UNIQUE KEY `rank` (`rank`)
);
INSERT INTO `Ranks` (`id`, `rank`)
VALUES (0, 'default'), (1, 'Noble'), (2, 'Guerrero'),
(3, 'King'), (4, 'Heroe'), (5, 'Mitico'), (6, 'Legendario'),
(7, 'SemiDios'), (8, 'Dios'), (9, 'DCMaster'),
(10, 'DCSupreme');
CREATE TABLE `PBattles` (
`ID` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`),
INDEX(`ID`),
`username` CHARACTER VARYING(30) NOT NULL,
`uuid` CHARACTER VARYING(36) NOT NULL);
END//
DELIMITER;
答案 0 :(得分:-1)
似乎在两个地方错过//
,
DELIMITER //
USE MServers //
DROP PROCEDURE IF EXISTS `Init` //
CREATE PROCEDURE `Init`()
BEGIN
DROP TABLE IF EXISTS `Users`;
DROP TABLE IF EXISTS `Ranks`;
DROP TABLE IF EXISTS `PBattles`;
CREATE TABLE `Users` (`ID` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), INDEX(`ID`), `username` CHARACTER VARYING(30) NOT NULL, `uuid` CHARACTER VARYING(36) NOT NULL, `rank` INT(1) NOT NULL DEFAULT '0');
CREATE TABLE `Ranks` (`ID` INT(1) NOT NULL, UNIQUE KEY `ID` (`ID`), `rank` VARCHAR(10) NOT NULL, UNIQUE KEY `rank` (`rank`));
INSERT INTO `Ranks` (`id`, `rank`) VALUES (0, 'default'), (1, 'Noble'), (2, 'Guerrero'), (3, 'King'), (4, 'Heroe'), (5, 'Mitico'), (6, 'Legendario'), (7, 'SemiDios'), (8, 'Dios'), (9, 'DCMaster'), (10, 'DCSupreme');
CREATE TABLE `PBattles` (`ID` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT, PRIMARY KEY (`ID`), UNIQUE KEY `ID` (`ID`), INDEX(`ID`), `username` CHARACTER VARYING(30) NOT NULL, `uuid` CHARACTER VARYING(36) NOT NULL);
END //
DELIMITER ;
请参阅此处的过程语法 - http://www.mysqltutorial.org/getting-started-with-mysql-stored-procedures.aspx
这可能会对你有所帮助