<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>WIDGET-INFO &#187; auto_increment</title>
	<atom:link href="http://blog.widget-info.net/tag/auto_increment/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.widget-info.net</link>
	<description>WIDGET-INFOではCakePHPやIPhone情報、その他開発に関する情報を発信</description>
	<lastBuildDate>Sat, 24 Dec 2011 20:47:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/tag/auto_increment/feed/" />
		<item>
		<title>CakePHP プライマリキーIDについて</title>
		<link>http://blog.widget-info.net/2009/12/cakephp_uuid/</link>
		<comments>http://blog.widget-info.net/2009/12/cakephp_uuid/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 15:05:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Model]]></category>
		<category><![CDATA[auto_increment]]></category>
		<category><![CDATA[UUIDs]]></category>
		<category><![CDATA[プライマリキー]]></category>

		<guid isPermaLink="false">http://blog.widget-info.net/?p=373</guid>
		<description><![CDATA[CakePHPのデータベース設計をしているとプライマリキーである「ID」は基本自動で追加してく「auto_increment」で「int」系を利用するかと思います。]]></description>
			<content:encoded><![CDATA[<p>CakePHPのデータベース設計をしているとプライマリキーである「ID」は基本<br />
自動で追加してく「auto_increment」で「int」系を利用するかと思います。<br />
もちろんCakePHPの基本構造として問題はありません（笑</p>
<p>ただ、この設定ではIDが連番となりURLの構造としては予想がつきやすいかと思います。<br />
<span id="more-373"></span></p>
<p>そこでCakePHPではIDを「auto_increment」に頼らないIDを作成することができます。<br />
CaekPHPではIDを「int」で指定することが基本と説明しましたが、これを<br />
「CHAR(36)」または 「BINARY(36)」として指定すると「UUIDs」という方式で<br />
CakePHPはIDを生成します。</p>
<p>この方式は４つのハイフンで区切られ、32バイトの文字列の36文字から形成され<br />
ユニークなIDとなっています。</p>
<p>例）<br />
4b1a307c-cfe4-4343-9d06-1094c0a80b06</p>
<p>これで推測されないIDとして作成することが可能となります。<br />
ユーザー情報など、連番で予想されやすいテーブルに対してこの方式を適用すると<br />
URLから直接アクセスされたり、セキュリティを強固にすることが可能となります。</p>
<p>※個人情報などはURLから直接参照など基本はしませんが（笑
<div class="fblike_button" style="margin: 10px 0;"><iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.widget-info.net%2F2009%2F12%2Fcakephp_uuid%2F&amp;layout=standard&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:25px"></iframe></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.widget-info.net/2009/12/cakephp_uuid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.widget-info.net/2009/12/cakephp_uuid/" />
	</item>
	</channel>
</rss>

