所以DB结构看起来像这样独特INT ID
表名(UNIQUEID,类别名称,类别ID)
我希望能够生成一个数字,将是独一无二的,其中类别名称=“something”
例如,我可以将categoryname设置为'something',并且有5个不同的行,categoryid为1,2,3,4,5。另一个类别名称为'somethingelse',并且有1,2,3个不同的行类别。
由于auto_increment不起作用,我想知道如果我可以通过PHP来做到这一点?
所以DB结构看起来像这样独特INT ID
表名(UNIQUEID,类别名称,类别ID)
我希望能够生成一个数字,将是独一无二的,其中类别名称=“something”
例如,我可以将categoryname设置为'something',并且有5个不同的行,categoryid为1,2,3,4,5。另一个类别名称为'somethingelse',并且有1,2,3个不同的行类别。
由于auto_increment不起作用,我想知道如果我可以通过PHP来做到这一点?
不,你只需要自动增量工作,你确定uniqueid
列设置为primary key
?
另外,为什么你有uniqueid
和categoryid
?
例如,你的表的创建语句应该看起来是这样的:
CREATE TABLE categories (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);
自动递增只能在数据库表的primary key
设置,它只能在一列设置。
有关于MySQL的文档自动增加更多信息:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html
uniqueid对整个表格是唯一的,categoryid只对类别唯一,类别名称指定。 – Pwnna 2010-08-19 17:10:53
如果我理解正确的话,你需要看一看[数据库规范化(http://en.wikipedia.org/ wiki/Database_normalization)...但我可能没有正确理解你,所以... – ircmaxell 2010-08-19 16:43:33
auto_increment字段应该为你工作。 cz,因为我看到它将在您的类别表中为每个类别准确地记录一条记录。, – 2010-08-19 19:04:27