4

mySqlで主キーの自動増分、varcharのタイプを設定する方法はありますか?

4

4 に答える 4

5

なし。これまでのところ、のみAUTO_INCREMENTに設定できますINT。そのためには、独自のロジックが必要です。例えば、

  • 最後のIDを取得
  • 文字列内のINT部分を取得します
  • 値をインクリメントします
  • 連結
  • DBに保存
于 2012-12-26T09:36:57.610 に答える
0

MySQLの複製-VARCHARをAUTOINCREMENT主キーとして使用する方法

私の見解によれば、整数型として変更する必要があります。AUTO_INCREMENTINTタイプ専用なので、さらに値のPRIMARY KEY重複を防ぐフィールドを設定します。

于 2012-12-26T09:37:43.220 に答える
0

AutoIncrementフィールドはmysqlでは整数です。

自動インクリメントフィールドをvarcharフィールドにミラーリングし、挿入/更新時にvarcharフィールドを更新するトリガーを作成できます。

トリガーの作成

于 2012-12-26T09:41:35.653 に答える
0

私の経験では、Varcar IDを自動インクリメントとして作成できますが、ロジックが必要です。

 Dim crnum As String = "CR00001"
    Dim iTemp As Integer = 0

                iTemp = CInt(crnum.Substring(4, crnum.Length - 4)) '// get only the #'s from String and Convert them to Integer.
                iTemp += 1 '// increase the ID # + 1.
                crnum = crnum.Substring(0, 4) & iTemp.ToString("00000") '// set the ID back with String and #'s formatted to 5 digit #.

ただし、独自のロジックを実行する必要があります。これは、2回実行すると主キーが重複するため、コードを適用するためのロジックを検討する必要があるためです。何でも可能です。;)

于 2014-04-10T06:34:26.703 に答える