PREPARE stmt 中的 MySQL SP 语法错误

标签 mysql stored-procedures syntax-error

当我尝试分别保存每一行时,这两行没有任何语法错误。 但是当我想用这两行保存 sp 时,MySql 会引发一个错误,它说 'PREPARE stmt from @a' 附近的语法不正确。

为什么yyyyyyyy? :( 是我的 MySql 或 PHPMyAdmin 的问题吗?

     SET @a = CONCAT('CREATE TABLE ' , dbname , '(A INT, B INT, C INT)');
     PREPARE stmt from @a;

最佳答案

使用 DATABASE() 函数而不是像这样的 dbname:

CONCAT('CREATE TABLE ' , DATABASE() , '(A INT, B INT, C INT)');

参见 fiddle

关于PREPARE stmt 中的 MySQL SP 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27566161/

相关文章:

python-3.x - 在列表理解: invalid syntax中引发异常

php - 如何缩短函数查询?

MySQL:这个 CREATE PROCEDURE 语句有什么问题?

PHP mysqli 为带有 out 参数的存储过程准备语句

sql-server-2005 - Hibernate 存储过程结果

mysql - SQL "Truncated incorrect INTEGER value"错误

SQL,如何查询一个表中的多个外键?

php - CREATE TABLE SQL 查询语法错误

php - 2 个具有相同 id 的表

android - OpenGL-ES Android : function pointers esUtil. h