<?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>ryo.com &#187; ddl</title>
	<atom:link href="http://www.ryo.com/tag/ddl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryo.com</link>
	<description>by Ryosuke Hosoi</description>
	<lastBuildDate>Sat, 19 Feb 2011 14:20:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/tag/ddl/feed/" />
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/><cloud domain='www.ryo.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>PostgreSQL使ったWebサイトのDBでありがちなこと</title>
		<link>http://www.ryo.com/2008/01/19/363/</link>
		<comments>http://www.ryo.com/2008/01/19/363/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 13:29:46 +0000</pubDate>
		<dc:creator>りょすけ</dc:creator>
				<category><![CDATA[IT関連]]></category>
		<category><![CDATA[ddl]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.ryo.com/ryo/?p=363</guid>
		<description><![CDATA[ユーザーアカウントのテーブルのログインIDで login_name VARCHAR(256) NOT NULL UNIQUE なんて指定でユニークキーを貼ったのはいいが、Case SensitiveなIDになってしまい、 [...]]]></description>
			<content:encoded><![CDATA[<p>ユーザーアカウントのテーブルのログインIDで<br />
<code>login_name VARCHAR(256) NOT NULL UNIQUE</code><br />
なんて指定でユニークキーを貼ったのはいいが、<a href="http://subtech.g.hatena.ne.jp/miyagawa/20070401">Case SensitiveなID</a>になってしまい、気が付いたら大文字小文字を使い分けられてｇｄｇｄになる<br />
# だけど「はてな」はMySQLじゃなかったの？って知らないけど<br />
# どちらにせよはてながPostgreSQLだとは思ってません。もしかしてDBM？;)<br />
<span id="more-363"></span><br />
解決策は<strong>関数インデックス</strong>を使って<br />
<code>CREATE UNIQUE INDEX <em>indexname</em> ON <em>usertable</em> (<strong>lower(login_name)</strong>);</code><br />
とすると、「Ryo」があるとき「ryo」はINSERTできなくなります。<br />
けど、これじゃ「Ryo」がINSERTできちゃうんで、CHECK句を使って<br />
<code>login_name VARCHAR(256) NOT NULL UNIQUE <strong>CHECK (login_name = lower(login_name))</strong></code><br />
ってのもいいかも。</p>
<h3  class="related_post_title">関連記事</h3><ul class="related_post"><li><a href="http://www.ryo.com/2009/06/15/957/" title="TMJのホームページへようこそ">TMJのホームページへようこそ</a></li><li><a href="http://www.ryo.com/2008/10/16/613/" title="ludia.max_n_sort_resultを使うときの注意">ludia.max_n_sort_resultを使うときの注意</a></li><li><a href="http://www.ryo.com/2008/04/08/479/" title="Webサイトの分類">Webサイトの分類</a></li><li><a href="http://www.ryo.com/2008/04/07/476/" title="地域ポータル考">地域ポータル考</a></li><li><a href="http://www.ryo.com/2008/03/26/457/" title="PostgreSQLで特定のテーブルのみautovacuumの対象外にする">PostgreSQLで特定のテーブルのみautovacuumの対象外にする</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.ryo.com/2008/01/19/363/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.ryo.com/2008/01/19/363/" />
	</item>
	</channel>
</rss>

