谢谢大虾 !帮我看看php中的UNIQUE KEY `id` (`id`)

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:31:54
我在PHP中要约束表级完整性,如设sno为主键,可是我写成这样就错,帮我看看:
//////////创建数据表-Intellectual-/////////////
$query="CREATE TABLE `Intellectual` (
`id` int(11) NOT NULL auto_increment,
`sno` char(9) NOT NULL,
int_sub real NOT NULL,
int_ext_points real,
int_points real,
PRIMARY KEY `sno` (`sno`),
UNIQUE KEY `id` (`id`)
)";
$bb->excu($query);
echo "<br>  数据表-Intellectual-创建成功!";
$query="CREATE TABLE `Intellectual` (
`id` int(11) NOT NULL auto_increment,
`sno` char(9) NOT NULL,
int_sub real NOT NULL,
int_ext_points real,
int_points real,
PRIMARY KEY `sno` (`sno`)
)";
$bb->excu($query);
echo "<br> 数据表-Intellectual-创建成功!";
就是把这句删掉UNIQUE KEY `id` (`id`),也不对啊。
但是我把PRIMARY KEY `sno` (`sno`)删掉,变成 UNIQUE KEY `id` (`id`)这句就合适了,但把这两句都删了,就有错了,给我解释下 UNIQUE KEY 是啥含义?

DROP TABLE IF EXISTS `dp_deploy_orig`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `dp_deploy_orig` (
`pj_id` int(10) NOT NULL AUTO_INCREMENT COMMENT '项目ID',
`pj_name` varchar(30) NOT NULL COMMENT '项目名',
`pj_deploy_dir` varchar(100) DEFAULT NULL COMMENT '项目发布目录',
`pj_deploy_email` varchar(200) DEFAULT NULL COMMENT '项目发布邮件通知地址',
`pj_status` enum('0','1') NOT NULL DEFAULT '0' COMMENT '标识测试与正式:0测试,1正式',
`is_del` enum('0','1') NOT NULL,
PRIMARY KEY (`pj_id`),
UNIQUE KEY `pj_Id` (`pj_id`)
) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 COMMENT='测试项目基础数据表';
/*!40101 SET character_set_client = @saved_cs_client */;

--

标准 例子,
可以直接导入

PRIMARY”必须是主键的名称,并且主键必须唯一
你的唯一应该设置到sno上

一个设主键,唯一又跑到别的字段上,怎么能对啊,他俩应该是