MySQLの指定したテーブル項目の最大値を取得する

 

 

MySQLのテーブルで選んだ項目の最大値を取得して、1を足した値を求めよ

 

連番の項目を作りたいので、今の最大値を取得したいのですね

 

 

うん、以下のテーブルの「分類」が「いちじく」になっている中の「一連番号」の最大値を取得したいんだ

それに1を足して、、、ここでは「37」が欲しい

 

【テーブル名:tbl_mysql_120】

ID 分類 一連番号 内容1 内容2
1いちじく35〇〇〇×××
2いちじく36〇〇〇×××
3くるり58〇〇〇×××

 

 

 

下のようなコードで取得できますよ。SQLのWHERE句で「分類」が「いちじく」のレコードを抽出して、「ORDER BY」で降順にします。それからLIMIT 1として、一番初めのレコードだけ取得しています。

 

 

<?php
$dbsv = 'mysql***.db.sakura.ne.jp';
//データベース名を変数に入れる。
$dbnm = 'itijiku_db001';
//データベース ユーザ名を変数に入れる。
$dbid = 'itijiku';
//データベース接続用パスワードを変数に入れる。
$pass = 'itijikunopass';
$itijiku120 = "いちじく";
try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo_obj->exec('SET NAMES utf8');
$pdo_obj->beginTransaction();
$sql010= "SELECT * FROM tbl_mysql_120 WHERE 分類 = :bunrui ORDER BY 一連番号 DESC LIMIT 1 ;";
$stmt = $pdo_obj->prepare($sql010);
$stmt->bindValue(':bunrui',$itijiku120,PDO::PARAM_STR);
$stmt->execute();
$pdo_obj->commit();
$tbl_row001 = $stmt->fetch(PDO::FETCH_ASSOC);
$itiren_bangou = htmlspecialchars($tbl_row001['一連番号']);
$itiren_bangou= $itiren_bangou+1;
echo $itiren_bangou;
} catch (PDOException $Exception) {
$pdo_obj->rollBack();
print "エラー:" . $Exception->getMessage();
}
?>

 

 

【実行結果】

37

 

 

変数の「$itijiku120」に入っている文字列で、分類を抽出できるようにしてくれたんだね

ありがと、いろいろ使いまわせる

そうですね。一つ改修しやすいテンプレートを作っておけば、後でそれを少し修正して、活用できますので、作ったコードは整理しておくことをおススメします。

 

 

 

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】