问题标签 [dbi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - 如何获取使用 DBI 插入的最后一行?
如何获取使用DBI ( DBD::mysql ) 插入的最后一行?
代码示例:
如何访问上述prepare
语句插入的数据?我需要获取主 ID ( AUTOINCREMENT
) 值。
更新:
来自DBD::mysql文档:
访问此属性的另一种方法是通过
$dbh->{'mysql_insertid'}
.
perl - SELECT DISTINCT 是否适用于 Perl 的 DBD::CSV?
我在网上找到了一个 SELECT 示例。当我在我的脚本中尝试它时,我收到了这个错误消息:
Specifying DISTINCT when using aggregate functions isn't reasonable - ignored. at /usr/lib/perl5/site_perl/5.10.0/SQL/Parser.pm line 496.
SELECT DISTINCT 是否不适用于 DBD::CSV 或者我的脚本有问题?
编辑:输出是
'Oberhemd'
'Mantel'
'Oberhemd'
'Hose'
4 rows
我认为应该是
'Oberhemd'
'Mantel'
'Hose'
3 rows
已安装版本:
Perl : 5.010000 (x86_64-linux-thread-multi)
OS : linux (2.6.31)
DBI : 1.609
DBD::Sponge : 12.010002
DBD::SQLite : 1.25
DBD::Proxy : 0.2004
DBD::Gofer : 0.011565
DBD::File : 0.37
DBD::ExampleP : 12.010007
DBD::DBM : 0.03
DBD::CSV : 0.26
mysql - 我如何告诉 DBD::mysql mysql.sock 在哪里?
将 DBD::mysql 与 DBI 一起使用,尝试连接到数据库时出现以下错误。
是的,MySQL 已启动并正在运行。问题是 mysql.sock 不在 /tmp 中。
我知道 mysql.sock 的位置,并且我目前已经对其进行了黑客攻击,以便它可以工作,我创建了一个指向 mysql.sock 文件当前位置的软链接。我宁愿不更改 MySQL 配置,尽管这可能是最简单的事情。
有没有办法进入 DBD::mysql 并将其配置为在正确的位置查找 mysql.sock ?
perl - DBI 和 DBD 有什么区别?
有人可以解释一下 DBI 和 DBD 到底是什么吗?什么时候应该使用其中一种,以及使用其中一种的好处。
sql - SQL::Statement 的 REGEX 和 TRIM 是否与 DBD::CSV 一起使用?
这个脚本中的函数“REGEX()”和“TRIM()”不能像我预期的那样工作。REGEX 函数始终返回 true,TRIM 函数返回“trim_char”,而不是修剪后的字符串。(当我用 FROM 而不是 "," 编写 TRIM 函数时,我收到一条错误消息。)
有人给点建议吗?
编辑:
DBD::SQLite: 1.25
DBD::ExampleP: 12.010007
DBD::Sponge: 12.010002
DBD::CSV: 0.26
DBD::Gofer: 0.011565
DBD::DBM: 0.03
DBD::Proxy: 0.2004
DBI: 1.609
DBD::File: 0.37
SQL::语句:1.23
perl - 如何测试 DBI 驱动程序状态是否在事务中?
我有几个方法应该只在我的DBI驱动程序类当前进入事务以确保数据完整性的情况下执行。我正在寻找这样的东西:
从begin_work的文档中,我了解到 begin_work 将AutoCommit
在事务期间设置为关闭,并在提交或回滚时将其设置回“开启”,但我想知道测试AutoCommit
属性值是否是一种安全的实现方式isInTransaction
。
谢谢你的帮助。
J。
perl - 如何将 Oracle 表导出为制表符分隔值?
我需要将数据库中的表导出到制表符分隔值文件。我在 Perl 和 SQL Plus 上使用 DBI。它是否支持(DBI 或 SQL Plus)从 TSV 文件导出和导入?
我可以编写代码来满足我的需要,但是如果可用,我想使用现成的解决方案。
sql - 如何使用带有 DBD::CSV 的 LIKE 运算符找到文字 %?
如何使用 LIKE 运算符找到文字 %?
mysql - MySQL 注释导致 Perl DBI 的绑定参数计数混乱
我有以下进行 DBI 调用的 Perl 代码:
打开时$filter
,此代码因错误而死:
起初我认为这是字符串中间的三元条件的问题,(我已经多次被那个错误咬伤)但它是正确的。转储一些调试值表明查询和@bind
数组构造正确。
然后我注意到查询在第一个绑定变量之后有一个 SQL 注释,所以我一时兴起将其删除。噗,成功了!
根据 MySQL docs on comments,
MySQL 服务器支持三种注释样式:从“#”字符到行尾。从“--”序列到行尾。在 MySQL 中,“--”(双破折号)注释 > 样式要求第二个破折号后跟至少一个空格或控制字符(例如空格、制表符、换行符等)。
既然注释--
后面跟着一个空格并且(大概)以行尾结束,为什么 MySQL 会卡住?DBI 是否在幕后使用换行符或空格做一些奇怪的事情?
perl - 为什么我使用 Perl 的 DBI->connect 会静默失败?
为什么这段代码会默默地失败?如何让它准确地告诉我 SQL 错误是什么?
我将代码修改为如下所示:
而不是允许我使用$dbh
未分配的,它会按预期失败,但它并没有告诉我它失败的确切原因。据我所知,etc 的值$db_name
都设置为有效值。
我知道真正的错误(MySQL 服务器实际上没有运行),但为了将来参考,我想看看真正的错误,以防我导致身份验证失败。