<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[开发感悟]Mysql设置NOT NULL 在pdo插入为空时候返回false]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 04 May 2009 02:55:35 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	<div class="code">&nbsp;&nbsp;`source` char(255) NOT NULL,<br/>&nbsp;&nbsp;`score` int(11) NOT NULL,</div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>Mysql设置NOT NULL 在pdo插入该字段source为空时候返回false，初看你就奇怪了，为何设置的时候为not null，但是在插入的时候会为null呢？<br/>&nbsp;&nbsp;&nbsp;&nbsp; 是这样的，当时开发时候的需求不很明显，但是最后在开发收尾的时候发现这个字段可有可无，而且我们提供的是接口调用，人家就会问了，你这个参数填写什么，而很有可能就说那个参数啊，可以为空啊，呵呵，这下好了，那个字段刚好可能会出现NULL，和NOT NULL冲突，于是插入数据库出现返回false，而我们又是接口调用，尽量做到给用户返回成功的代码，于是这个插入数据库错误的问题可能会隐藏，最后解决办法是将数据库source字段改为可以为null！<br/><br/><br/><br/><div class="code">ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NOT NULL DEFAULT NULL <br/>ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NULL DEFAULT NULL </div><br/><br/>http://www.neatcn.com/?action=tags&item=pdo<br/><br/>但本人有不同看法。。。<br/><br/>&nbsp;&nbsp;`source` char(255) NOT NULL,<br/>&nbsp;&nbsp;`score` int(11) NOT NULL,<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/><br/>Mysql设置NOT NULL 在pdo插入该字段source为空时候返回false，初看你就奇怪了，为何设置的时候为not null，但是在插入的时候会为null呢？<br/>&nbsp;&nbsp;&nbsp;&nbsp; 是这样的，当时开发时候的需求不很明显，但是最后在开发收尾的时候发现这个字段可有可无，而且我们提供的是接口调用，人家就会问了，你这个参数填写什么， 而很有可能就说那个参数啊，可以为空啊，呵呵，这下好了，那个字段刚好可能会出现NULL，和NOT NULL冲突，于是插入数据库出现返回false，而我们又是接口调用，尽量做到给用户返回成功的代码，于是这个插入数据库错误的问题可能会隐藏，最后解 决办法是将数据库source字段改为可以为null！<br/><br/><br/><br/><br/>ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NOT NULL DEFAULT NULL <br/>ALTER TABLE `a` CHANGE `a` `a` INT( 11 ) NULL DEFAULT NULL<br/><br/>--------------------------------------------------------------------------------<br/><br/>上面这段我还是觉得有问题的，一般情况话，如果设置了NOT NULL，那么default 还是设为0吧。除非你的0在系统中是特殊值。<br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [开发感悟]Mysql设置NOT NULL 在pdo插入为空时候返回false]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>