ExtMail服务器社区's Archiver

bob.wang 发表于 2009-3-21 05:10

perl 与mysql -1问题!非常奇怪

大家好!最近在二次开发Extman。发现了一件非常奇怪的问题。
我在mysql的表中添加了 一个 int 4 的字段。暂时叫他 gid 。默认值 -1
但是我发现 我从数据库中去这来的数不是 -1 而是 4294967295。那位能帮我解释一下这是为什么吗。
现在导致我的程序由 if($ref->{pgid} eq '-1') 而不得不写成 if($ref->{pgid} eq '4294967295')。叫他能够正常运行。
但是心里确实不踏实。
谢谢大家

hzqbbc 发表于 2009-3-21 08:16

lz,int 是整数,整数哪里有-1的?:lol :lol  你不如改成var char(4)好了

bob.wang 发表于 2009-3-21 23:44

回复 2# hzqbbc 的帖子

hzbbc 您好,感谢你的回复!
我还真不知道 -1不是整型 ???????????????????
你的这个恢复我很奇怪!

hzqbbc 发表于 2009-3-24 12:37

哦。lz,不好意思,我脑子进水了,C语言里int 是可以取负的,非常抱歉,偶搞错了!!

我实际做过测试,mysql里对于int(6) 这样的字段,如插入-1是合法的,取出来也是 -1

实在是贻笑大方了!:'(

bob.wang 发表于 2009-3-25 13:56

回复 4# hzqbbc 的帖子

hzbbc ,没有关系了!
非常感谢你!
Extman 这个框架 ,对于 Int 4 取出来的 确实不是-1 。
我十分想知道原因!
还请各位好心的同仁帮忙

hzqbbc 发表于 2009-3-25 14:07

你在mysql 命令行下select 它出来看具体数字是多少?

bob.wang 发表于 2009-3-25 16:31

回复 6# hzqbbc 的帖子

select 出来的是-1,所以我怀疑这个东西是perl 与mysql 之间的问题?

bob.wang 发表于 2009-3-25 16:32

回复 6# hzqbbc 的帖子

您要是感兴趣,可以试验一下!

hzqbbc 发表于 2009-3-25 17:02

好,晚上测试1下!!:lol

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.