Heim > Datenbank > MySQL-Tutorial > mysql一些insert/update的用法_MySQL

mysql一些insert/update的用法_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:29:46
Original
1125 Leute haben es durchsucht

bitsCN.com

mysql一些insert/update的用法

 

在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下。我们先建一个简单的表来作为测试:

 

CREATE TABLE `books` (  `id` INT(11) NOT NULL AUTO_INCREMENT,  `name` VARCHAR(200) NOT NULL,  PRIMARY KEY (`id`),  UNIQUE KEY `NewIndex1` (`name`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Nach dem Login kopieren

1.insert ignore into

当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉。例如:

INSERT IGNORE INTO books (name) VALUES ('MySQL Manual')
Nach dem Login kopieren

2.on duplicate key update

当primary或者unique重复时,则执行update语句,如update后为无用语句,如id=id,则同1功能相同,但错误不会被忽略掉。例如,为了实现name重复的数据插入不报错,可使用一下语句:

INSERT INTO books (name) VALUES ('MySQL Manual') ON duplicate KEY UPDATE id = id
Nach dem Login kopieren

3.insert … select … where not exist

根据select的条件判断是否插入,可以不光通过primary 和unique来判断,也可通过其它条件。例如:

INSERT INTO books (name) SELECT 'MySQL Manual' FROM dual WHERE NOT EXISTS (SELECT id FROM books WHERE id = 1)
Nach dem Login kopieren

4.replace into

如果存在primary or unique相同的记录,则先删除掉。再插入新记录。

REPLACE INTO books SELECT 1, 'MySQL Manual' FROM books
Nach dem Login kopieren

 


bitsCN.com
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage