[英]MySQL REPLACE INTO on multiple keys?
我正在使用MySQL中的偽會話表。 該表當前如下所示:
id | key | value | metadata
id是會話所屬的用戶,元數據是該用戶的IP地址。 其背后的想法是每個用戶可以從不同的IP地址多次登錄。 我想知道REPLACE INTO
是否只能在id = userid,key = key和meta metadata = ip_address的情況下替換值,所以理想情況下我們可以得到這樣的結果:
id | key | value | metadata
1 test avalue 127001
1 test bvalue 19216801
1 test cvalue 19215810
這樣有可能嗎?
如果您在這三列中定義了UNIQUE
索引或PRIMARY KEY
,則可以將其REPLACE INTO
。 如果您還沒有索引,請添加它:
ALTER TABLE session_table ADD PRIMARY KEY (`id`, `key`, `metadata`);
如果已經定義了PK,請在這些列上創建一個復合UNIQUE
索引:
CREATE INDEX `idx_id_key_metadata` ON session_table (`id`, `key`, `metadata`);
這是一個小示范 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.