これはMySqlで可能ですか? R1234、R1235、R1236 ...のような文字をプレフィックスとする自動インクリメントのプライマリキーを使用できますか?MySqlの自動増分英数字主キー?
答えて
キーを2つの列として保存することができます。 char接頭辞と自動インクリメントint。これらは両方とも主キー用にグループ化されています。
CREATE TABLE myItems (
id INT NOT NULL AUTO_INCREMENT,
prefix CHAR(30) NOT NULL,
PRIMARY KEY (id, prefix),
...
これはMyISAMでのみ機能し、InnoDBのテーブルタイプでは機能しません。 –
接頭辞としてはR123の1文字しか必要ないので、スペースを節約するためにCHAR(30)ではなくCHAR(1)を使用する必要があります。接頭辞として2文字(RG123)が必要な場合は、CHAR(2)を使用してください。 –
先頭の文字が定数の場合、複合キーは避けてください。変数のペアを持つレコードを特定することは、かなり混乱することになります。 –
このような2つのフィールドを使用するとできます。しかし、私の知る限り、あなたは1つのフィールドでそれを行うことはできません。
create table foo (
code char,
id int unsigned not null auto_increment
primary key(id,code)
);
号しかし、MyISAMテーブルのためにあなたは、複数列のインデックスを作成することができますし、二列にAUTO_INCREMENTフィールドを置くので、あなたが求めているほとんど同じになります。
CREATE TABLE t1 (prefix CHAR(1) NOT NULL, id INT UNSIGNED AUTO_INCREMENT NOT NULL,
..., PRIMARY KEY(prefix,id)) Engine = MyISAM;
INSERT INTO t1(prefix) VALUES ('a'),('a'),('b'),('b');
SELECT * FROM t1;
a 1
a 2
b 1
b 2
をすることができますhere 注:INNODBエンジンでは動作しません
- 1. 自動増分された主キーをアクセステーブルに挿入
- 2. Mysql再起動自動int主キー
- 3. codeigniter自動増分外部キー
- 4. 自動増分6-8パターンで一意の数字を生成するmysql
- 5. SQL - 主キー、クラスタードインデックス、自動インクリメント
- 6. 複合(英数字)プライマリキーと自動インクリメント
- 7. php - mysql:フォーム処理:主キーの自動生成
- 8. 自動増分スキューのマゼンタ
- 9. 自動増分のスケーリング
- 10. 英数字でのMySQLクエリ
- 11. 倉庫管理アプリケーション - 主キーの文字の自動インクリメント。
- 12. 長さ10の一意のランダムな英数字の主キーを生成
- 13. 主キーの自動番号とテキスト文字列?
- 14. 2つの主キーと自動インクリメント
- 15. 自動増分外部キーを持つMySQL関連テーブルを自動的に更新します。
- 16. 自動増分データ型モデル
- 17. laravel-自動増分ID
- 18. 文字を英数字と非英数字に分割する
- 19. Mysql - 1つのテーブル内に2つの主キー - (自動インクリメントと1つの主キー - サブタイプ)
- 20. 自動増分列:OracleとMySQL間のSQL構文の相違
- 21. は、MySQLの複数の主キー
- 22. Mysqlの自動増分値をリセットする毎年?
- 23. 非増分を非主キーに設定する方法は?
- 24. Oracle SQL自動生成ID主キー
- 25. INSERT INTOと主キー、自動インクリメントフィールド、デフォルト値
- 26. HibernateテンプレートSaveOrUpdateALL主キー自動生成
- 27. LINQPad:SQLiteのでSQLiteの整数主キー自動割り当て
- 28. 非英数字のキーのPHP json_decode
- 29. PHPで英数字の文字列を増やす方法は?
- 30. 自動増分ファイルバージョンの固定アセンブリバージョン?
MySQLの専門家ではありませんが、シーケンスがサポートされているかどうかを確認したい場合があります。 – Limey
目的は何ですか?かなり基本的なデータベース設計のルールに違反しているように見えます。列には単一の情報のみを含める必要があります。そのような英数字を連結することは、この正規化の規則が侵害されていることを示していることがよくあります。いつもとは限りませんが、通常は。 –