マインクラフト用のサーバーのコレクション用のデータベースを作成しています。セットアップ方法では、サーバーが追加されるたびにテーブルを作成したいと考えています。現時点では、IP アドレスを含むように作成されているテーブルを取得できないという事実を除いて、すべてが機能しています。テーブルを [IP]_Players のようなものにしたいのですが、[IP] は実際の IP アドレスに置き換えられ、それが作成されている関数を介して送信されます。これが私がこれまでに持っているものです:
DELIMITER $$
CREATE PROCEDURE `minecraft`.`AddServer` (ip Text)
BEGIN
DECLARE play TEXT;
DECLARE tran TEXT;
SET play = ip + '_Players';
SET tran = ip + '_Transactions';
INSERT INTO `minecraft`.`Server_Data` (`Server_IP`) VALUES (ip);
CREATE TABLE `minecraft`.play (
`Player` TEXT NOT NULL ,
`Balance` DOUBLE NOT NULL DEFAULT 100 ,
`Warnings` INT NOT NULL DEFAULT 0 ,
`Offences` INT NOT NULL DEFAULT 0 ,
UNIQUE INDEX `Player_UNIQUE` (`Player` ASC) );
CREATE TABLE `minecraft`.tran (
`Time` TIMESTAMP NOT NULL ,
`Player` TEXT NOT NULL ,
`Destination` TEXT NOT NULL ,
`Amount` DOUBLE NOT NULL ,
`Description` TEXT NOT NULL ,
PRIMARY KEY (`Time`) );
END
実行時に 192.168.001.107_Players として作成する代わりに、
CALL minecraft.AddServer('192.168.001.107');
というテーブルを作成しますplay
。私は何を間違っていますか?