
お世話になります。
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelで連続して重複する行数の違う列を参照する方法 5 2023/04/23 06:15
- Excel(エクセル) 条件を指定して連番を振る方法(エクセル) 3 2022/06/02 15:12
- Excel(エクセル) エクセルで飛び飛びのセルの計算 5 2022/10/25 05:33
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) EXCEL 連番を振る方法 4 2023/08/24 15:36
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP8でWarning:Undefined varia...
-
composerをインストールしたい...
-
phpの問い合わせフォームを作っ...
-
配列の値の更新方法について
-
PHPの構文で間違えが分からない
-
SFTPなどは使わないホームペー...
-
$_SESSIONに渡した後はそのまま...
-
($_POST['email']??"", ・・・...
-
phpのエラーについて
-
PHP MySql 画像を取得
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
SplFileObject を利用したとき...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpの問い合わせフォームを作っ...
-
composerをインストールしたい...
-
PHP8でWarning:Undefined varia...
-
marginの値でマイナス値を設定...
-
phpでcookieがうまく保存されない
-
SplFileObject を利用したとき...
-
PHPSpreadsheetを使って関数を...
-
PHPSpreadsheetによる書き出し...
-
PHP8を使うと、大量のWarningが...
-
フォームで戻った際に入力済み...
-
PostgreSQLからCSV形式でエクス...
-
PHPを使って、別サイトの一部を...
-
BASIC認証のフォームをデザイン...
-
入力した部分を表示させたまま...
-
【初心者】XAMPPのapacheの(恐...
-
ログイン機の付きの掲示板サイ...
-
ワードプレスサイト PHP8.0.25...
-
Postgresの特定のカラムからス...
-
PHPで画像の渡しが上手く行きま...
-
PHPの勉強してます。 配列のと...
おすすめ情報