Mysql XE6使用子选择将查询插入

Mysql XE6使用子选择将查询插入,mysql,sql-insert,sql-subselect,c++builder-xe6,uniquery,Mysql,Sql Insert,Sql Subselect,C++builder Xe6,Uniquery,我在VCL项目中工作。我正在用使用子选择的插入来填充查询。查看MySQL日志文件,我可以看到命令正在访问数据库。没有报告任何错误或异常,所有操作似乎都正常执行。但是,当我查询数据库时,数据不在那里。如果我从日志文件复制并粘贴命令并在dbForge中运行它,那么它将正确执行命令并填充表。以下是未指定字段的代码: UniQuery->Close(); UniQuery->SQL->Clear(); UniQuery->SQL->Add("INSERT INTO tmpl

我在VCL项目中工作。我正在用使用
子选择的
插入来填充
查询
。查看MySQL日志文件,我可以看到命令正在访问数据库。没有报告任何错误或异常,所有操作似乎都正常执行。但是,当我查询数据库时,数据不在那里。如果我从日志文件复制并粘贴命令并在dbForge中运行它,那么它将正确执行命令并填充表。以下是未指定字段的代码:

UniQuery->Close();
UniQuery->SQL->Clear();
UniQuery->SQL->Add("INSERT INTO tmplegacypricingdistinct (...) ");
UniQuery->SQL->Add("SELECT DISTINCT ... FROM tmplegacypricing");
UniQuery->Execute();
我计划将这些表制作成临时表,但它们目前是真实的表


我的一些想法是,它可能是连接,但由于它被记录在mysql日志文件中,我不认为这是问题所在。我有一项工作,就是把信息拉下来,然后一次插入一条记录,但我不想把数据拉过电线,不得不这样做。关于我可以做些什么来让这一切在服务器端实现,或者我的上述方法的问题是什么的想法或想法?

确保您没有任何同名的
临时
表和
真实
表。MySQL可以让你做到这一点。

谢谢Jaridmo,已经和它斗争了一段时间。我确实有代码用create if not exist创建临时表,并且认为常规表和临时表都不允许共享名称。非常感谢你。