我想使用Perl DBI将值插入到Sqlite3表中.我能够毫无问题地插入硬编码值.当我尝试使用perl变量时,我得到一个错误"DBD :: SQLite :: db do failed:no such column:"
这有效:
$dbh->do("insert into Gene values (12, 'AAAAAA', 66, 86, 76)");
Run Code Online (Sandbox Code Playgroud)
但是这段代码
$dbh->do("INSERT INTO Gene values (NULL, $sequence, $siteNumber, $begin, $length)");
Run Code Online (Sandbox Code Playgroud)
抛出错误
DBD::SQLite::db do failed: no such column
Run Code Online (Sandbox Code Playgroud)
您应该始终prepare和executeSQL语句一起使用占位符作为变量值.
试试这个代码
my $sth = $dbh->prepare('INSERT INTO Gene VALUES (?, ?, ?, ?, ?)');
$sth->execute(undef, $sequence, $siteNumber, $begin, $length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3714 次 |
| 最近记录: |