mysql的id插入问题

现在id插入是按照1,2,3,4....这样的模式插入的。
我想让id的插入方式按照“日期+id”的模式插入,也就是他的id应该是20110614001或者201106140001这样的模式。请问怎么做?

如果我单纯的在insert的时候把time写进去那可能就变成了201106141而不是20110614001。

最终我想要的效果就是当用户输入他的号码时就可进入(该号码唯一)。至于这个号码时id还是他的name这个无所谓。但一定要唯一的。

做过的人来指点一二。

作者: wenfei307   发布时间: 2011-06-16

不用自增 自己生成一个值 我之前也有写过类似的
在新增的时候 先查询 select id from tablename where id like '20110614%'
有值 那就取这个id加上1 得到新的编号 再写入数据库
没值 就 20110614001

作者: heyli   发布时间: 2011-06-16

对了再问个小问题,我的日期的格式在数据库里面显示的时间都是精确到了秒。我只想让他精确到日就行了,2011-06-16就OK了,而不是2011-06-16 9:46:33

怎么设置?我用的now()

作者: wenfei307   发布时间: 2011-06-16

不是很懂楼主要什么,id主键自增?

作者: mingfish2   发布时间: 2011-06-16

你可以把字段类型改为data类型。

作者: jordan102   发布时间: 2011-06-16

把这个字符串2011-06-16 9:46:33做一下处理就行了啊

作者: lfkcn   发布时间: 2011-06-16

抱歉,错了。。是date类型。

作者: jordan102   发布时间: 2011-06-16

引用 3 楼 mingfish2 的回复:
不是很懂楼主要什么,id主键自增?


最终我想要的效果就是当用户输入他的号码时就可进入(该号码唯一)。
至于这个号码时id还是他的name这个无所谓。但一定要唯一的。
并且这串数字要有一定的意义,比说说日期+id的格式。现在就是怎么解决这个id以特殊格式自动插入的问题我有点纠结。如果按照通常的自增那么id的值会是1,2,3...这个不是我想要的效果。

可能我的思路比较局限了,4楼的方法我这会试试。但是把id改成data可以吗?我先试试吧

作者: wenfei307   发布时间: 2011-06-16

引用 5 楼 lfkcn 的回复:
把这个字符串2011-06-16 9:46:33做一下处理就行了啊

你说的是取个日期还得用php截取前10位?

难道就没有地方设置一下能直接让2011-06-16吗?

作者: wenfei307   发布时间: 2011-06-16

select curdate();

作者: heyli   发布时间: 2011-06-16

上面是mysql的 
php的
echo date("Y-m-d");
echo date("Ymd");

作者: heyli   发布时间: 2011-06-16

引用 9 楼 heyli 的回复:
select curdate();


收到,学习了,但是curdate输出的是2011-06-16,如果我想20110616这样的格式呢?
我看说+0就行,但我试了一下不行啊。

作者: wenfei307   发布时间: 2011-06-16

引用 11 楼 wenfei307 的回复:
引用 9 楼 heyli 的回复:
select curdate();


收到,学习了,但是curdate输出的是2011-06-16,如果我想20110616这样的格式呢?
我看说+0就行,但我试了一下不行啊。

格式的问题,已修正。感谢大熊

作者: wenfei307   发布时间: 2011-06-16