Considere:¿Cómo selecciono un esquema basado en una variable?
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");
esto no parece ser válida: mysql se vuelva con:
Usted tiene un error en su sintaxis SQL; compruebe el manual que corresponde a su versión del servidor MySQL para el sintaxis derecho al uso cerca de '@ REFRESHDB.`Metadata`
Por lo que yo puedo decir que he hecho las cosas correctamente de acuerdo con the documentation. Sin embargo, MySQL dice que no está permitido. ¿Es esto alguna limitación de MySQL (que no permite el uso de variables como identificadores) o algo más?
No veo cómo se puede asignar lo que se puede asignar a la variable donde se puede usar la variable. –
Lo está usando como un objeto, lo que implica que el valor de '@ REFRESHDB' es un objeto de esquema, no el valor de cadena que realmente es. –
¿A quién le importa el votante? –