mysql中的复合主键表怎么用?? 如题 复合主键表没用过 不知道怎么用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 由两个字段共同形成主键。比如学生成绩,学号,或课程均无法单独构成主键。但学号+课程可以为主键。create table sc ( studentno int, courseid int, score int, primary key (studentno,courseid)); mysql> create table cmplcate(id smallint,name varchar(2),primary key(id,name));Query OK, 0 rows affected (0.08 sec)mysql> insert into cmplcate values(1,"a");Query OK, 1 row affected (0.03 sec)mysql> insert into cmplcate values(1,"b");Query OK, 1 row affected (0.02 sec)mysql> insert into cmplcate values(1,"b");ERROR 1062 (23000): Duplicate entry '1-b' for key 'PRIMARY' 如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式 alter table tb_name add primary key (字段1,字段2,字段3);例如:一个销售表里面,每天每种商品只有一条记录,考虑记录的唯一性,可以将日期和商品组合成主键,即 primary key (`date`,product_id) 一个简单的 建表 字段别名问题 存储过程执行报 can't return a result set in the given context 继续删除的存储过程! psql如何改数据库的字符集? 各种乱码问题汇总 Mysql用UTF8编码,中文字段怎么排序阿?请教了。。。 HELP ME:建了一个VIEW,可是每次SELECT这个VIEW的时候,CPU都会到100%.为什么啊 myodbc怎么使用呀? mysql 文件字符集配置!! 急! windows mysql-proxy 配置 启动 问题 为什么在游标前面不能有其它的select Postgresql存储过程的容错处理
比如学生成绩,学号,或课程均无法单独构成主键。但学号+课程可以为主键。create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid)
);
Query OK, 0 rows affected (0.08 sec)mysql> insert into cmplcate values(1,"a");
Query OK, 1 row affected (0.03 sec)mysql> insert into cmplcate values(1,"b");
Query OK, 1 row affected (0.02 sec)mysql> insert into cmplcate values(1,"b");
ERROR 1062 (23000): Duplicate entry '1-b' for key 'PRIMARY'
alter table tb_name add primary key (字段1,字段2,字段3);例如:一个销售表里面,每天每种商品只有一条记录,考虑记录的唯一性,可以将日期和商品组合成主键,即 primary key (`date`,product_id)