考虑:如何根据变量选择模式?
SET @PREFIX='DEV_';
SET @REFRESHDB=CONCAT(@PREFIX,'Refresh');
CREATE TABLE @REFRESHDB.`Metadata`
(
`Key` VARCHAR(30) NOT NULL,
`Value` VARCHAR(30) NOT NULL,
PRIMARY KEY (`Key`)
) ENGINE = InnoDB;
INSERT INTO @REFRESDB.`Metadata` (`Key`, `Value`) VALUES ("Version", "0");
这似乎不是有效的:mysql回来了:
你在你的SQL语法错误;检查对应于你的MySQL服务器版本正确的语法使用近“@ REFRESHDB.`Metadata`
至于我可以告诉我正确地根据the documentation做的事情的手册。但MySQL说这是不允许的。这是MySQL的一些限制(不允许使用变量作为标识符)或其他?
我看不出如何将变量控件分配给变量可以使用的地方。 –
您正在使用它作为对象,这意味着'@ REFRESHDB'的值是一个模式对象,而不是它实际的字符串值。 –
Downvoter关心评论? –