私はitems
のテーブルを持っていますが、ユーザによって選択されたアイテムは保持されていますが、ユニークなキーやプライマリキーがないため、テーブルに一意のレコードがありません。userID
とlistID
は一意ではありません複数のアイテムがある場合)、itemID
は、より多くのユーザーが同じアイテムを選択できるため、一意/プライマリにすることができます。そのテーブルに一意のキーや主キーを追加する正しい方法は何ですか?mysqlのユニークキー
項目表:
CREATE TABLE IF NOT EXISTS `items` (
`userID` int(20) NOT NULL,
`listID` int(20) NOT NULL,
`itemID` int(20) NOT NULL,
`qty` int(10) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
アイテムデータ:
INSERT INTO `items` (`userID`, `listID`, `itemID`, `qty`) VALUES
(12, 277, 44, 2160),
(12, 277, 3683, 13500),
(12, 277, 3689, 2700),
(12 277, 9832, 4320),
(12 277, 9848, 540),
(12, 277, 16272, 81000),
(12, 277, 16273, 81000),
(12, 277, 16274, 243000),
(71, 278, 12066, 4),
(82, 279, 44, 2880),
(82, 279, 3683, 18000),
(82, 279, 3689, 3600),
(82, 279, 9832, 5760);
それは私がどのように私は行を更新することができ、今、してくれてありがとう – afarazit
を探していたものだ、 'UPDATEユニークKEYは何か=「」 'を設定すると言うする方法は何ですか? – afarazit
@atno残念ながら、いいえ。ユニークキーは、重複が入力されるのを防ぐだけです。 'UPDATE tbl_name SET qty = 123 WHERE userID = 1234 AND listID = 4321 AND itemID = 5678;'を実行する必要があります。レコードを更新する方法が必要な場合は、他の回答に示唆されているように主キー「ID」を追加してください。 – vonconrad