私はMySQLを使用しています。 新しいレコードを入力せずにAUTO_INCREMENT列が取る次の値を取得したいとします。 OracleでMySQLのAUTO_INCREMENTカラムの次の値を見つける
create table ABC(id int(10) NOT NULL AUTO_INCREMENT,name char(10));
私はsequencename.nextval();
を使用しているだろう。しかし、私は、MySQLに何を使用するの?私はない使用
select max(id) from ABC;
と仮定私は、ID = 2のエントリを持っていた理由はここに
です。今列idは次の値を3とします。 id = 3のレコードを作成する前に、id = 2のレコードを削除すると、 私が言及したクエリの答えは2になります。しかし、実際の値3が必要です。これは、auto_incrementカラムはとにかくなります。このような
でもありません。私は価値を受け取りたい。しかし、これらの答えは説明を印刷します。検索可能な値ではありません –
http://www.microshell.com/database/mysql/emulating-nextval-function-to-get-sequence-in-mysql/ – Mihai
このコードを使用してください: 'SELECT(IFNULL(max(id)、 0)+ 1)をテーブルから取得する。 テーブルにレコードがない場合はIFNULLが役に立ちます。 –