柚子爸工作時遇到常遇到使用者提出一個問題是,

能不能在更新資料時先判斷資料是否存在,如果不存在就先建立,

或是新增資料時先判斷資料是否存在,如果存在就更新。

雖然柚子爸覺得 這是流程設計問題,還沒新增怎麼會讓使用者點選更新呢?

 

因為使用者無奇不有,我們還是得解決這個問題,

 

在MySQL 也許可以這麼做。

假設我們的table 如下

CREATE TABLE Sample_Table(
  SAMPLE_ID INT NOT NULL PRIMARY KEY,
  SAMPLE_NAME VARCHAR(50)
);

事先輸入SAMPE_ID = 1, SAMPE_NAME = 'SAMPE'

INSERT INTO Sample_Table (SAMPLE_ID, SAMPLE_NAME) VALUE(1, 'SAMPLE'); 

 接著輸入SAMPE_ID = 1, SAMPE_NAME = 'TEST_SAMPE',

若重複則更新

INSERT INTO Sample_Table (SAMPLE_ID, SAMPLE_NAME) VALUES (1, 'TEST_SAMPLE') ON DUPLICATE KEY UPDATE SAMPLE_NAME=VALUES(SAMPLE_NAME);

如此一來原本的SAMPE就被改成了TEST_SAMPLE。

 

對柚子爸而言算是還蠻實用的,不曉得有沒有幫助到你呢?

arrow
arrow
    文章標籤
    mySQL
    全站熱搜

    哆寶 Dobao 發表在 痞客邦 留言(0) 人氣()