0

2 つの ID 列があります。1 つはテーブル/システム ID で、意味がなく、常に自動インクリメントする必要があります。2 つ目はビジネス ID で、常に挿入時に値が設定されるわけではなく、挿入後にいつでも増分番号を設定できます。

だから私は NO_AUTO_VALUE_ON_ZERO 設定を使用することを計画していましたが、私が読んだことから、 InnoDB は 2 つの auto_increment 列をサポートしていません。ここで使用できる回避策はありますか?

4

1 に答える 1

1

CURRENT_TIMESTAMP を使用して、1 つのテーブルまたは 2 つの TIMESTAMP 列に 2 つの自動インクリメントを含めることはできません。

あなたのオプション:

  • トリガーを作成することです。
  • DB を再設計します。2 つの auto_increment が null ではない必要がある場合は、そのテーブルに null (PK) ではない 2 つの一意のキーが必要になるため、これは良くありません。

トリガーの作成方法: http://dev.mysql.com/doc/refman/5.1/de/create-trigger.html

于 2012-12-10T17:05:32.777 に答える