qt mysql不能直接用变量做表名怎么解决

QString select_by_date = "drop table "+data1+"";

QSqlQuery sql_query;

sql_query.prepare(select_by_date);

sql_query.exec(select_by_date);

qDebug结果如图:

直接写表名可以删除但是把表名写成变量就不行了,求解决办法

变量应该可以的 你打印出来变量拼接的SQL语句

然后粘贴到数据库管理工具去执行试试

我的数据库名是2020-09-29是不是数据库命名的问题


我的意思是 使用程序输出 变量拼接的 SQL

如果解析后的结果 在数据库管理工具直接执行没问题 在代码里 就不会有问题

你把数据库名字 使用 引号括起来 试试

我找到问题了 我数据库的名字有问题 我换成字母开头后面数字就可以了 还不能有-号

嗯 果然是 特殊符号的锅。