日期:2014-05-16  浏览次数:20439 次

通过 Zend_Db 向 mysql 写入 null 值的问题

博客地址,欢迎猛击:http://yysource.sourceforge.net/

现在假设数据库一个表如下所示:

?

create table gaps(
	gid			serial,
	gother		varchar(20) not null,
	primary key(gid)
)default charset=utf8;

如果通过 Zend_Db 向该表插入一条数据,并且让 gid 自动增值,则下面这个方法比较通用:

?

?

$db->insert(array("gother" => "abc"), "gaps");

其他的方法如:

?

?

$db->insert(array("gid"=>"", "gother" => "abc"), "gaps");
$db->insert(array("gid"=>"null", "gother" => "abc"), "gaps");
在不同版本的mysql之间可能造成不兼容的情况,至少 "gid"=>"" 我已经试过是不兼容的了。

?

1 楼 iminto 前天  
你忽悠人呢。。。
serial, 明明是postgre SQL的数据类型,怎么就成了MySQL了
2 楼 panyanyany 14 小时前  
iminto 写道
你忽悠人呢。。。
serial, 明明是postgre SQL的数据类型,怎么就成了MySQL了


http://dev.mysql.com/doc/refman/5.5/en/numeric-type-overview.html
根据chrome的查找功能显示,serial 在此地一共出现了 3 次。对于这种神奇现象,《时代周刊》杂志已经发表评论称 serial 不知何时已经从 postgre SQL 叛逃到 mysql 阵营中。希望广大群众及时修正自己数据库,免得遭受不白损失~~~