• 4195阅读
  • 3回复

[提问]数据库建表时复合主键 [复制链接]

上一主题 下一主题
离线mrcalifor
 
只看楼主 倒序阅读 楼主  发表于: 2012-04-09
如果我想指定id为主键,那么建表的语句是这样的
query.exec("CREATE TABLE IF NOT EXISTS linkedApplication (id VARCHAR(20) PRIMARY KEY ,"
                                                                                                       "room VARCHAR(20) NOT NULL,"
                                                                                                       "name VARCHAR(20) NOT NULL)");
那么我想让id和name二者作为复合主键应该如何建表呢?
离线淳于半邪

只看该作者 1楼 发表于: 2012-04-09
create table Table(type1,id,name primary key(id,name))
离线mrcalifor
只看该作者 2楼 发表于: 2012-04-09
回 1楼(淳于半邪) 的帖子
能不能写出完整的语句呢?我按照这种方式试过,貌似不行,不知道是不是我哪个地方错了
离线淳于半邪

只看该作者 3楼 发表于: 2012-04-10
回 2楼(mrcalifor) 的帖子
char szSQL[500] ;
memset(szSQL,0,sizeof(char)*500) ;
sprintf(szSQL,"create table %s(type_datetime int,section_name varchar(255),section_desc varchar(255),section_datetime int, primary key(type_datetime,section_name))",TABLE_SECTION) ;
if(!query.exec(szSQL)
return ;
快速回复
限100 字节
 
上一个 下一个