2010-08-19 55 views
-1

所以DB结构看起来像这样独特INT ID

表名(UNIQUEID,类别名称,类别ID)

我希望能够生成一个数字,将是独一无二的,其中类别名称=“something”

例如,我可以将categoryname设置为'something',并且有5个不同的行,categoryid为1,2,3,4,5。另一个类别名称为'somethingelse',并且有1,2,3个不同的行类别。

由于auto_increment不起作用,我想知道如果我可以通过PHP来做到这一点?

+2

如果我理解正确的话,你需要看一看[数据库规范化(http://en.wikipedia.org/ wiki/Database_normalization)...但我可能没有正确理解你,所以... – ircmaxell 2010-08-19 16:43:33

+0

auto_increment字段应该为你工作。 cz,因为我看到它将在您的类别表中为每个类别准确地记录一条记录。, – 2010-08-19 19:04:27

回答

1

不,你只需要自动增量工作,你确定uniqueid列设置为primary key

另外,为什么你有uniqueidcategoryid

例如,你的表的创建语句应该看起来是这样的:

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

+0

uniqueid对整个表格是唯一的,categoryid只对类别唯一,类别名称指定。 – Pwnna 2010-08-19 17:10:53