在MySQL中,ON DUPLICATE KEY UPDATE語句用于在插入數據時遇到重復鍵值時執行更新操作。它的語法如下:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3)
ON DUPLICATE KEY UPDATE column1 = value1, column2 = value2, column3 = value3;
在這個語法中,首先使用INSERT INTO語句插入數據,然后使用VALUES指定要插入的值。如果遇到重復鍵值,就會執行更新操作。
在ON DUPLICATE KEY UPDATE子句中,使用column = value的形式來指定要更新的列和對應的值。你可以指定多個列和值,用逗號分隔。
例如,假設有一個名為students的表,有兩個列:id和name。如果id是主鍵,并且已經存在id為1的記錄,然后執行以下語句:
INSERT INTO students (id, name)
VALUES (1, 'John')
ON DUPLICATE KEY UPDATE name = 'John Doe';
那么如果id為1的記錄已存在,則會將name更新為’John Doe’。如果id為1的記錄不存在,則會插入一條新記錄,id為1,name為’John’。