上路的白手 2010-08-17 15:31
浏览 225
已采纳

mysql的数据库值问题

我在设计数据库的时候,定义一张表的主键为id 类型varchar 长度为25 为当前时间+随机码生成的一串数字;
但是在查询的时候有:比如 select * from table where id = 201008171424530375 这个数字就出不来结果非要改成select * from table where id = '201008171424530375' 但是我的主键都是通过程序生成的,不是所有的结果都会这样,其他的很多类似 select * from table where id = 201008171424530376 这样的查询不用''都是可以找到结果的,请问这是什么原因造成的?

  • 写回答

9条回答 默认 最新

  • 「已注销」 2010-08-17 16:10
    关注

    [quote]飞雪无情 写道
    就是你的in里有10个id,都没有加引号,比如 in(123,1231,34234,4545,346436,....),然后结果出来九条是吧?难道是in函数认为前面的九个条件可以加引号,也可以不加,只是最后一个比较的时候因为没加引号所以查询不到了。。

    哈哈 你的这种想法我也想到了,我单独的改变了IN里面的顺序,起结果还真就是那个楼市找不到,不管它排第几,当然咯这里只是用楼市来调试 [/quote]

    随便改变顺序还是楼市。。嘿嘿。我观察了,你的楼市的id是最小的,也就是第一个数据。。估计就是因为这,谁是第一个数据谁倒霉,别管inli的id顺序,就查不到第一个。。嘿嘿

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大