2

これはMySQLのバグかもしれないと思いますが、よくわかりません。テーブルの主キーを作成してから、主制約の名前を変更するにはどうすればよいですか?可能であれば、テーブルの作成中に目的の名前で主キーをすでに作成してください。

私が作成するすべての主キーは、「Primary」という名前になります。PKを追加する前に、目的の名前でインデックスを作成し、MySQLWorkbenchを使用してPKの名前を変更しようとしました。それらのどれも機能しませんでした。

誰もが何が悪いのか、そしてなぜPK名の名前を変更できないのかを知っていますか?

ありがとう!

4

1 に答える 1

6

MySQLがそもそも主キーに名前を付けることができるかどうかはわかりません。そのための構文があるように見えますが:

CREATE TABLE test (
    test_id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
    CONSTRAINT my_test_pk PRIMARY KEY (test_id)
)
ENGINE=InnoDB;

information_schema.TABLE_CONSTRAINTS...それは私が見つけることができる他の場所に現れないので、私はそれが単に静かに捨てられているという印象を持っています。

表示される名前は、GUIクライアントがすべての主キーに付けるハードコードされた名前である可能性があります。

編集:ここにマニュアルからの引用があります:

aの名前PRIMARY KEYは常にPRIMARYであるため、他の種類のインデックスの名前として使用することはできません。

于 2013-02-11T17:21:23.240 に答える