SQLite+Perl: データを削除する方法

SQLitePerlで、すでにデータが登録されているテーブルからデータを削除する方法をメモっておく。

テーブルは以下の通りである。

user_info(
    id integer primary key,
    name,
    email
  )

登録されているデータは以下の通りである。

データ1:id=1, name=hoge, email=admin@hoge.com
データ2:id=2, name=hoge2, email=admin2@hoge.com

id=1のデータを削除する例を以下に示す。

サンプルコード

#!/usr/bin/perl

use DBI;

$mydb = "testdb";

$hDB = DBI->connect(
  "dbi:SQLite:dbname=$mydb","","",{PrintError=>0}
  );
if(!$hDB){
	print "$DBI::errstr \n";
	exit;
}

# (1) データ削除のSQL文
$id = 1;
$sql = "DELETE FROM user_info WHERE id = $id";

# (2) データ削除の実行
$hst = $hDB->do($sql);
if($hst == 0E0){
	print "Not Found data (id = $id)\n";
	exit;
}
else{
	print "Success\n";
}
$hDB->disconnect;

解説

  • (1) データ削除のSQL文

    データ削除には、DELETE文を使用する。

  • (2) データ削除実行

    そしてSQLを実行する。$hst = 0E0 の場合には、データが見つからなかったことを意味する。

関連記事

トラックバック(0)

このブログ記事に対するトラックバックURL: http://itsmemo.com/mt/mt-tb.cgi/58

※スパム防止のため、管理人がトラックバック内容確認後、公開されます。

コメントする