
お世話になります。
PHP&MySQLでプログラムを勉強しています。
データを挿入する際にデータに連番を振ろうと思っています。その際に連番を1 2 3 4・・・というような連番ではなく、
hametome0000001
hametome0000002
hametome0000003
・
・
・
・
といったような(文字列+数列)連番にしたいと思っているのですが、MySQLのデータ型をauto incrementにして連番を振る場合では文字列+数列の連番が振れないようなので、どのようにすれば文字列+数列の連番を振れるのか分かりません。
よろしくご教授のほど、お願いいたします。
No.3ベストアンサー
- 回答日時:
トランザクションの問題がありますが
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(8) | NO | PRI | NULL | auto_increment |
| id_name | varchar(10) | YES | | NULL | |
+---------+-------------+------+-----+---------+----------------+
のようなテーブルで説明しますと
insert into test values (NULL,concat('hogehoge',last_insert_id()+1));
これでいけるかとおもいます。
同一SQL文内で インサート時の id が取れないので
直近で insertされた id + 1 を取得してインサートしています。
下記の解答の様に
insert into test values (NULL,'hogehoge');
とやったあとに
update test set id_name=concat('hogehoge',lpad(last_insert_id(),2,0)) where id = last_insert_id()
でもいいかと思います。
お礼が遅れまして申し訳ありません。お教え頂きました方法で実現できました。
下の方の方法と合わせてどちらがよいのか色々と調べてみたいと思います。ありがとうございました。
No.2
- 回答日時:
<?php
$sql = 'insert文';
mysql_query($sql); //成功したとして
$id = mysql_insert_id(); //直近のインサートされたIDを取得できます。
$str_id = sprintf("hametome%07d", $id);
$sql = 'update文';
mysql_query($sql); //ここで生成したIDを入力するフィールドにUPDATE。
?>
といった流れで一応出来ますが、もっと良いやり方があるかもしれませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セッション関数を使わずにファ...
-
PHP8でWarning:Undefined varia...
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
SplFileObject を利用したとき...
-
PHP8を使うと、大量のWarningが...
-
PHPで訪問回数を表示するカウン...
-
PHPのエラーの解消法について教...
-
c言語 文字 - '1'+26
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
phpのheader("Location:#pos")...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Pro*Cの構文エラー
-
JAVA SQLServerException 列名 ...
-
PHPからデータベースに接続した...
-
insert1つの処理でもトランザ...
-
<VB.NET>INSERT文でDBにデータ...
-
Q&Aサイトを作成していてURLの...
-
like検索の複数キーワードで、...
-
VBA ACCESS SQL...
-
MySQLのINSERT時にたまに重複に...
-
データベースに存在するデータ...
-
VB.NET エラーになる箇...
-
mysql php 複数のクエリ
-
ODBC接続でデータ件数を求...
-
phpで複数の検索語を検索対象に...
-
PDOを使って複数キーワード検索...
-
エクセルVBAのデータベース接続...
-
PHP+PDO+MYSQL で実行されたSQ...
-
チェックボックスからの複数検...
-
PHP&MySQLでの文字列+数列の一...
-
phpmyadminにタグを格納するには
おすすめ情報