像自己一样简单。我想要一个自动增量字段,但有时我必须在某些字段中重复id,我必须手动设置。
使用PHP在Mysql中使用AUTOINCREMENT字段是否有任何问题? (一致性,......)
答案 0 :(得分:1)
答案 1 :(得分:1)
根据您的php结构,您可以替换:
INSERT INTO table_name (name, incr)
VALUES ('hello', {$incr}) # using retrieved data
与
INSERT INTO table_name (name, incr)
SELECT 'hello', incr
FROM ( SELECT (incr + 1) AS incr
FROM table_name
ORDER BY incr DESC
UNION
SELECT 1) AS h
LIMIT 1
基本上它只会检查表中的最高incr
值,或者从1开始给它。这只需要一次MySQL调用,并且可以加快速度。
答案 2 :(得分:0)
考虑使用复合主键(2个或更多列来创建主键)。一列可以是自动增量,另一列可以是“重复ID”。无论哪种方式,这都可以确保每一行都有一个唯一的密钥。