MySQL是一種常用的關(guān)系數(shù)據(jù)庫管理系統(tǒng)。在MySQL中,可以通過唯一索引來實現(xiàn)對數(shù)據(jù)的快速檢索,以及對數(shù)據(jù)的更新和保存。
假設(shè)我們有一張表,名為“Article”,其中有一個字段叫做“id”,是用來唯一標識每一篇文章的。我們還定義了一個唯一索引,名為“idx_article_id”,來保證每篇文章的id值都是唯一的。
CREATE TABLE `Article` ( `id` int(11) NOT NULL, `title` varchar(255) DEFAULT NULL, `content` text, PRIMARY KEY (`id`), UNIQUE KEY `idx_article_id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
現(xiàn)在,我們要修改一篇文章的標題和內(nèi)容。可以使用如下的SQL語句,根據(jù)文章的id值來更新相應(yīng)的記錄:
UPDATE `Article` SET `title`='新的標題', `content`='新的內(nèi)容' WHERE `id`=123;
如果文章的id值不存在,這條SQL語句會修改0行數(shù)據(jù)。如果文章的id值存在,并且唯一索引未被破壞,則會更新相應(yīng)的記錄,并且修改1行數(shù)據(jù)。
如果文章的id值存在,但是唯一索引被破壞了,比如說有兩篇文章的id值相同,那么MySQL會報錯,并且更新0行數(shù)據(jù)。