<?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>CrisDev - Cristian Medeiros &#187; constraints</title>
	<atom:link href="http://crisdev.eti.br/tag/constraints/feed" rel="self" type="application/rss+xml" />
	<link>http://crisdev.eti.br</link>
	<description>Desenvolvedor Web</description>
	<lastBuildDate>Sun, 03 Apr 2011 15:38:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On duplicate key update</title>
		<link>http://crisdev.eti.br/on-duplicate-key-update.html</link>
		<comments>http://crisdev.eti.br/on-duplicate-key-update.html#comments</comments>
		<pubDate>Wed, 30 Jul 2008 12:43:13 +0000</pubDate>
		<dc:creator>cristianmedeiros</dc:creator>
				<category><![CDATA[Banco de Dados]]></category>
		<category><![CDATA[constraints]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://crisdev.eti.br/?p=24</guid>
		<description><![CDATA[T&#225; ai um recurso que achei magnifico no MySQL 5, talvez n&#227;o seja mais novidade para nigu&#233;m, mas para mim foi bem interessante descobrir que n&#227;o preciso mais fazer um update na minha abstra&#231;&#227;o de dados, posso fazer tudo com insert e caso uma das chaves j&#225; esteja cadastrada o MySQL dispara um update. O [...]]]></description>
			<content:encoded><![CDATA[<p>T&aacute; ai um recurso que achei magnifico no MySQL 5, talvez n&atilde;o seja mais novidade para nigu&eacute;m, mas para mim foi bem interessante descobrir que n&atilde;o preciso mais fazer um update na minha abstra&ccedil;&atilde;o de dados, posso fazer tudo com insert e caso uma das chaves j&aacute; esteja cadastrada o MySQL dispara um update.</p>
<p>O procedimento &eacute; muito simples, basta que voc&ecirc; tenha uma primary key ou um index &uacute;nico e voc&ecirc; poder&aacute; utilizar esta t&eacute;cnica.</p>
<p>Exemplo:</p>
<pre class="programlisting">
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
</pre>
<p>O comando acima ir&aacute; atualizar a coluna c com o valor de c+1 quando a primary ou o index for duplicado.</p>
<p>Voc&ecirc; pode indicar outros campos para serem atualizados tamb&eacute;m.</p>
<p>Exemplo:</p>
<pre class="programlisting">
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1, b=now();
</pre>
<p>&Eacute; uma t&eacute;cnica simples, mas que pode ganhar muito tempo de projeto dependendo da sua aplica&ccedil;&atilde;o.</p>
<p>Para saber mais:<br />
&nbsp;</p>
<ul>
<li><a href="http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html" target="_blank" onclick="urchinTracker('/outgoing/dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html?referer=');">http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html</a></li>
</ul>
<pre class="programlisting">
</pre>
<p>Tags BlogBlogs: <a href="http://blogblogs.com.br/tag/mysq" rel="external" target="_Blank" onclick="urchinTracker('/outgoing/blogblogs.com.br/tag/mysq?referer=');">mysq</a>, <a href="http://blogblogs.com.br/tag/banco+de+dados" rel="external" target="_Blank" onclick="urchinTracker('/outgoing/blogblogs.com.br/tag/banco+de+dados?referer=');">banco de dados</a>, <a href="http://blogblogs.com.br/tag/duplicate+key" rel="external" target="_Blank" onclick="urchinTracker('/outgoing/blogblogs.com.br/tag/duplicate+key?referer=');">duplicate key</a></p>
]]></content:encoded>
			<wfw:commentRss>http://crisdev.eti.br/on-duplicate-key-update.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

