MySQL查询,用变量创建表

标签 mysql sql

如何将变量包含到创建表查询(.sql 文件)中?据我所知,我已经尝试了所有方法,但它只是将 @variable 名称本身设置为表名称而不是实际变量。

(即将 @preset 设置为名称而不是“cart_”)

SET @Preset='cart_'; 

CREATE TABLE IF NOT EXISTS `@preset,Customer` (....

最佳答案

你需要动态sql。为此,您将必须使用 prepared statements

尝试如下:

SET @SQL = CONCAT('CREATE TABLE ',CONCAT('cart_',customer), ..;
PREPARE stmt FROM @SQL;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

关于MySQL查询,用变量创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29330170/

相关文章:

sql - 使用 dplyr::left_join (R lang) 与 SQL LEFT JOIN 处理 NA/NULL 的差异

sql - 这是 SQL Server 2008 中的错误吗?

php - MySQL 选择没有主 ID 或日期字段的最后插入的记录

php - 使用PHP远程访问MySQL数据库

php - 数据未正确传递到 php 服务器

sql - 垒球联盟的数据库建模

mysql - SQL 查询没有返回正确的结果

mysql - 使用 pt-table-sync 进行双向同步

mysql - 创建访问同一个表的多个联接

sql - 带有条件的多个 INSERT 和 SELECT 在一个请求中返回