テーブルのIDを他の一意の値に変更したい。sql:プライマリキーをユニークな要素の別のリストに変更
CREATE TABLE IF NOT EXISTS test (
id int(11) NOT NULL,
reverse_id int(11) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY reverse_id (reverse_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test (id, reverse_id) VALUES ('1', '2'), ('2', '1');
UPDATE test SET id = reverse_id;
# Duplicate entry '2' for key 'PRIMARY'
私は唯一のid要素の一意性のためのUPDATEの最後にチェックコマンドを探しています: これは簡単な例です。
[私は2番目の行を作成してこの行の状態をプライマリに変更できることを知っています。次にIDを更新してプライマリステータスをリセットできますが、他の行を追加したり変更したりすることなく、 、テーブル]
プライマリキーを削除できますが、MySQLは単純に隠し整数プライマリキーを作成するため、要件に違反します。 – Johan