sqlite 删除数据库中超过30天的数据 ,操作失败删除数据操作失败,异常代码:columns GropID, Ctime are not unique

sqlite 删除数据库中超过30天的数据 ,操作失败删除数据操作失败,错误代码:columns GropID, Ctime are not unique
/*删除数据库中超过存储周期30天的数据*/
void DeleteDataOver30(sqlite3* conn)
{
char sql[200]="";
char *err_msg=NULL;
SYSTEMTIME sys;
GetLocalTime(&sys);
if(sys.wHour==2&&sys.wMinute<1)
{
time_t m_time=time(NULL);//utc时间
int DeleteTime=m_time-UTC2010-DATAPERIOD;
sprintf_s(sql,sizeof(sql),"DELETE FROM Grp WHERE Ctime<%d",DeleteTime);
if(sqlite3_exec(conn,sql,NULL,0,&err_msg)!=SQLITE_OK)
{
fprintf(stderr,"删除数据操作失败,错误代码:%s\n",err_msg);
sprintf_s(buffer,sizeof(buffer),"删除数据操作失败,错误代码:%s",err_msg);
WriteLog(buffer);

}
else
{
printf("操作成功,删除超出存储周期的数据\n");
WriteLog("操作成功,删除超出存储周期的数据");
}
}

}


此段程序目的,删除保存时间超过30天的数据。被调用的时候,删除失败,错误代码:删除数据操作失败,错误代码:columns GropID, Ctime are not unique;
数据库Grp表的结构: 
 Ctime GropId 为组合键。
大神求指导 

------解决方案--------------------
在其它地方被引用了?
------解决方案--------------------
30天不长啊。。。
------解决方案--------------------
先手动执行SQL语句,成功后在写到C代码中。