当我尝试分别保存每一行时,这两行没有任何语法错误。 但是当我想用这两行保存 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/