mysql - 访问 QueryDefs 和 SQL 方言
问题描述
我正在运行 MySQL DB 作为后端,MS Access (Office 365) 作为前端。
在 VBA 中,我正在创建一个带有参数的 DAO querydef,以将数据插入到链接表中。如果我逐行插入,这将有效。querydef 中的 SQL 如下所示:
参数 param1 LONG,param2 TEXT;插入 tbl_target (attr1, attr2) 值 (param1,param2);
但是,我想在这个 SQL 字符串中使用 2 个 MySQL 特性:
- 插入忽略
- 在一次调用中添加多个值组
SQL 字符串因此看起来像:
参数 param1 LONG, param2 TEXT**, param3 LONG, param4 TEXT**; INSERT IGNORE INTO tbl_target (attr1, attr2) VALUES (param1,param2) , (param4, param3) ;
我无法让它工作,因为 DAO 似乎检查了 SQL 字符串(即使它将是直通的)并抱怨它显然不知道这些 MySQL 功能。
我能做些什么来实现我想要的?
非常感谢 krilledrille
编辑/添加: 代码看起来像这样。我对 SQL 字符串中的 PARAMETERS 部分感到困惑,因为这与 MySQL 不兼容(据我所知):
Set qdf = CurrentDb.CreateQueryDef(vbNullString)
qdf.Connect = getMyBackendConnectionString()
qdf.ReturnsRecords = False
qdf.SQL = theSql
qdf.Parameters("param1") = 12345678
qdf.Parameters("param2") = "this is param2"
qdf.Parameters("param3") = 87654321
qdf.Parameters("param4") = "this is param4"
qdf.Execute dbSQLPassThrough
qdf.Close
Set qdf = Nothing
解决方案
推荐阅读
- java - 为什么在静态上下文中访问实例化字段比在 JAVA 中访问实例化上下文更快
- angular - 当我尝试安装@angular/pwa 时。使用 ng 添加@angular/pwa。它向我显示了这个错误
- php - 我正在尝试用 Pusher 实现套接字
- javascript - 以特定方式解析嵌套对象数组
- go - 无法从超级账本结构中的链码实例将数据上传到谷歌云存储
- nginx - APIs in Cloud Run and Nginx reverse proxy in VM
- python - Python inputs from another python file
- oracle - How to pass a text file or it's path as parameter and read the file into an oracle stored procedure
- c# - Getting the text from a RichTextBox
- c# - C# which data structure is suitable for efficient querying in both ways(forward and backward)