簡體   English   中英

MySQL替換成多個鍵?

[英]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`); 

有關MySQL CREATE INDEX語法的更多信息

這是一個小示范

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM