用Perl插入MySQL
我有以下Perl中的绑定查询用Perl插入MySQL,mysql,database,perl,sql-insert,Mysql,Database,Perl,Sql Insert,我有以下Perl中的绑定查询 $sth = $dbh->prepare("insert into tbl_name values(?,?)"); $sth->execute($val1, $val2); 但是,如果tbl\u name表中的第一个列是自动递增主键,该怎么办?如何处理该字段?您可以只给出第二列的值,如下所示 my $sth = $dbh->prepare('INSERT INTO tbl_name (col2) VALUES (?)'); $sth->ex
$sth = $dbh->prepare("insert into tbl_name values(?,?)");
$sth->execute($val1, $val2);
但是,如果
tbl\u name
表中的第一个列是自动递增主键,该怎么办?如何处理该字段?您可以只给出第二列的值,如下所示
my $sth = $dbh->prepare('INSERT INTO tbl_name (col2) VALUES (?)');
$sth->execute($val2);
您可以只给出第二列的值,如下所示
my $sth = $dbh->prepare('INSERT INTO tbl_name (col2) VALUES (?)');
$sth->execute($val2);
这与其说是Perl问题,不如说是SQL问题 如何处理[自动递增]字段 完全不要指定它。显式命名所有具有值的列,并忽略其他列 这将使它们采用默认值,在自动增量字段的情况下,默认值将是下一个增量
$sth = $dbh->prepare("insert into tbl_name (column_name) values (?)");
$sth->execute($val2);
这与其说是Perl问题,不如说是SQL问题 如何处理[自动递增]字段 完全不要指定它。显式命名所有具有值的列,并忽略其他列 这将使它们采用默认值,在自动增量字段的情况下,默认值将是下一个增量
$sth = $dbh->prepare("insert into tbl_name (column_name) values (?)");
$sth->execute($val2);
或
或
正如其他人所说,您只是没有通过明确插入哪些字段来指定字段的值,所以正如他们所说:
my $sth = $dbh->prepare('INSERT INTO tbl_name (col2) VALUES (?)');
$sth->execute($val2);
就足够好了
我只想补充一点,你可以使用
$dbh->{'mysql_insertid'}
要获取分配给该行的id,这通常很方便。正如其他人所说,您只是不通过明确插入哪些字段来指定字段的值,正如他们所说:
my $sth = $dbh->prepare('INSERT INTO tbl_name (col2) VALUES (?)');
$sth->execute($val2);
就足够好了
我只想补充一点,你可以使用
$dbh->{'mysql_insertid'}
获取分配给行的id,这通常很方便