0
작동하도록 sqlite3에서 준비된 문을 가져 오는 데 문제가 있습니다. Perl과 Perl DBD 프레임 워크로 작업하고 있습니다. 아래 코드는 제가 사용됩니다 : 그 오류를 이유는 무엇입니까SQLite가 준비된 명령문의 구문에 대해 불평하는 이유는 무엇입니까?
DBD::SQLite::db prepare failed: near "SET": syntax error(1) at dbdimp.c line 271 at database.pm line 80.
:
#This is a function I have defined
sub query([email protected]){
my $st = $db->prepare(shift);
$st->execute(@_);
}
#And it is used like so
query("UPDATE rooms SET name = ?, SET capacity = ? WHERE id = ?",
$name, $capacity, $id);
나는, 나는 다음과 같은 오류를 얻을 때? 준비된 문장을 사용하지 않고 시도하면 작동합니다. UPDATE 쿼리를 제외하고 내 응용 프로그램의 다른 모든 준비된 문이 작동합니다.
없이
입니다. 그러한 이름은 pragma 용으로 예약되어 있으므로 그렇게하지 마십시오. 게다가 모듈을 최상위 네임 스페이스에 두는 것은 어쨌든 나쁜 습관입니다. 당신은 모듈'Config.pm' 중 하나를 명명하게 될 것입니다. –
이러한 종류의 문제가 발생하면 SQL 문을 데이터베이스 셸에서 직접 실행하여 문에 대한 문제인지 또는 Perl 관련 문제인지 확인합니다. –
나는이 페이지를 나와 함께 앉아 있었고, 나는 여전히 무엇이 잘못되었는지를 알 수 없었다! http://www.sqlite.org/lang_update.html – Marius