【问题标题】:XE6 TUniQuery Insert Into with SubSelectXE6 TUniQuery 使用 SubSelect 插入
【发布时间】:2014-07-29 15:02:07
【问题描述】:

我在一个 VCL 项目中工作。我用Insert 填充TUniQuery,它使用sub select。查看 MySQL 日志文件,我可以看到命令正在访问数据库。没有报告错误或异常,一切似乎都在正常执行。但是,当我查询数据库时,数据不存在。如果我从日志文件中复制并粘贴命令并在 dbForge 中运行它,那么它会正确执行命令并填充表。下面是没有指定字段的代码:

UniQuery->Close();
UniQuery->SQL->Clear();
UniQuery->SQL->Add("INSERT INTO tmplegacypricingdistinct (...) ");
UniQuery->SQL->Add("SELECT DISTINCT ... FROM tmplegacypricing");
UniQuery->Execute();

我打算将使用的表制作成临时表,但它们目前是真实的表。

我的一些想法是它可能是连接,但由于它被记录在 mysql 日志文件中,我认为这不是问题。我有一个解决方法,就是将信息拉下来,然后一次插入一条记录,但我不想将数据拉到网络上并且必须这样做。关于我可以做些什么来让这一切发生在服务器端的想法或想法,或者我对上述方法的问题可能是什么?

【问题讨论】:

    标签: mysql sql-insert sql-subselect c++builder-xe6 uniquery


    【解决方案1】:

    确保您没有任何具有相同名称的 TEMPORARY 表和 REAL 表。 MySQL 允许您这样做。

    【讨论】:

    • 感谢 Jaridmo,与它战斗了一段时间。我确实有使用 create if not exist 创建临时表的代码,并认为不允许常规表和临时表共享名称。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-09
    • 1970-01-01
    相关资源
    最近更新 更多