<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>BLOG - TreinaWeb &#187; MySql</title>
	<atom:link href="http://www.treinaweb.com.br/blog/tag/mysql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.treinaweb.com.br/blog</link>
	<description>Webstandards e Programação Web e Desktop</description>
	<lastBuildDate>Fri, 10 Feb 2012 11:00:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Insert ou update no Mysql</title>
		<link>http://www.treinaweb.com.br/blog/insert-ou-update-no-mysql/</link>
		<comments>http://www.treinaweb.com.br/blog/insert-ou-update-no-mysql/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 00:26:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[MySql]]></category>

		<guid isPermaLink="false">http://www.treinaweb.com.br/blog/?p=136</guid>
		<description><![CDATA[Hoje daremos uma dica do MySql, para aqueles que precisam fazer um insert, caso o registro não exista, e um update caso exista. Para estes casos, o Mysql nos permite trabalhar de duas formas: 1 &#8211; Para fazer um insert caso o registro não exista, você utiliza o comando REPLACE. Por exemplo: REPLACE tb_treinaweb (tb_id, [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje daremos uma dica do MySql, para aqueles que precisam fazer um insert, caso o registro não exista, e um update caso exista.</p>
<p>Para estes casos, o Mysql nos permite trabalhar de duas formas:</p>
<p>1 &#8211; Para fazer um insert caso o registro não exista, você utiliza o comando REPLACE. Por exemplo:</p>
<p>REPLACE tb_treinaweb (tb_id, nome, id_user) VALUES (1,&#8217;Bruno&#8217;, 152);</p>
<p>Neste caso, se já existir um registro com a chave &#8217;1&#8242;, o REPLACE apaga a linha e insere um novo registro com a chave &#8217;1&#8242;.</p>
<p>2 &#8211; Para fazer somente um UPDATE, obviamente caso o registro exista, utilizamos o comando ON DUPLICATE KEY UPDATE. Por exemplo:</p>
<p>INSERT tb_top (tb_id, name, id_user) VALUES (1, &#8216;Bruno&#8217;, 152) ON DUPLICATE KEY UPDATE name =&#8217;Bruno’, id_user = 152;</p>
<p>Neste caso, o comando não irá apagar a linha antes de incluir o registro, ele fará apenas o UPDATE dos campos especificados.</p>
<p>Os dois comandos então, tem basicamente a mesma função. O uso do REPLACE é mais simples, mas como ele elimina as linhas para inserir novos registros, caso você não informe algum campo, ele ficará vazio. Já o ON DUPLICATE KEY UPDATE, ele só afetará os campos informados.</p>
<p>Outro fator importante, é que no REPLACE, para saber se foi efetuado apenas o insert, ou se ele excluiu antes de inserir, é só notar o número de ROWS afetados, se for 1 será apenas o insert, se for 2 ele excluiu depois inseriu o registro.</p>
<p>Por hoje é só. Até a próxima!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.treinaweb.com.br/blog/insert-ou-update-no-mysql/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

