1
superbear 2014-07-17 09:44:23 +08:00
第一张图片里,pid这个字段是不同的
|
3
yangqi 2014-07-17 09:51:02 +08:00
pid -> post id
tid -> thread id fid -> forum id 能看出关系了么? 一个thread可以有很多post, 至于那个pid主键单独一个表不知道什么情况 |
4
iyaozhen OP @yangqi 嗯,这个我知道。每个主题(thread)里面的楼层(包括0楼)都是post。但从第三张图中可以看见tid是主键,但记录中的值tid有重复。(第二张图)
pid主键单独一个表那个是用来帖子分表用的,一般用不上。我只是不知道这个表只有一个递增主键我改如何新增数据。 |
5
ipconfiger 2014-07-17 10:00:24 +08:00
insert into table——name values (null)
|
6
zieglar 2014-07-17 10:02:17 +08:00
INSERT INTO `table`(pid) SELECT max(pid) +1 FROM `table`
|
7
iyaozhen OP @zieglar 使用SELECT max(pid) +1 FROM `table`会不会有并发冲突问题。语言是php
|
8
zieglar 2014-07-17 10:12:02 +08:00 1
CREATE TABLE t (
id INT AUTO_INCREMENT NOT NULL PRIMARY KEY ) INSERT INTO `t` VALUE() |
9
iyaozhen OP @ipconfiger 原来如此,要用'NULL',一开始老想着留空。尝试了几次发现这样也可以:
|
10
justfindu 2014-07-17 10:19:57 +08:00
应该来说不自增的主键不是唯一值, 但是整条数据必须是唯一值
|
11
sun019 2014-07-17 11:04:54 +08:00
看下discuz 的源码怎么写的吧 亲
别乱搞 小心discuz数据结构被你搞坏哈 |
12
iyaozhen OP @justfindu 额,原来是我看错了,表里面有两个主键。PRIMARY KEY (`tid`,`position`)
position字段表示的是楼层,这样主题+楼层就可以唯一表示一个帖子了。 那个字段居然在最后,屏幕小,哭瞎了。 |
13
lincanbin 2014-07-17 12:17:53 +08:00
tid是comment对应的索引
|