SQLiteリファレンス
当サイトはSQLiteに関するSQL文やコマンドのリファレンスサイトです。
HOME > Cから始まるSQL文・コマンド

changes関数

変更されたレコードの行数を取得する関数

変更されたレコードの行数を取得する方法

変更されたレコードの行数を取得する関数にはchanges関数を使用します。

changes関数の書き方

select changes()

update文、delete文、insert文によって変更されたレコードの行数を返します。直近のSQL文のみということに注意してください。

changes関数の使い方

PHPのPDOを使用した例

SQL
<?php
$pdo = new PDO("sqlite:./test.sqlite3");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
$pdo->setAttribute(PDO::ATTR_TIMEOUT,5);

$a = $pdo->exec("insert into test_table values(1)");
$stmt = $pdo->query("select replace('おはよう','おはよう','こんにちわ')");
$result = $stmt->fetchAll();

echo "<pre>";
print_r($result);
echo "</pre>";
?>

$pdo->execを使用した場合にも行数が返されます。$aには1が代入されます。

insert into テーブル名 values(),()などの時は2行変更されたことになります。

SQLiteのGUIツールを使用した例

SQL
C:sq>sqlite3 test.sqlite3
sqlite> insert into test_table values(1);
sqlite> select changes();