sqlsever数据库重新设置多字段主键
时间: 2023-08-10 17:04:15 浏览: 103
在 SQL Server 数据库中,可以使用以下代码来重新设置多字段主键:
1. 打开数据库连接:
```cpp
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3");
db.setDatabaseName("DRIVER={SQL Server};SERVER=127.0.0.1,1433;DATABASE=testdb;UID=sa;PWD=123456");
if (!db.open()) {
qWarning() << "Failed to connect to database.";
}
```
2. 删除原来的主键:
```cpp
QSqlQuery query;
query.exec("ALTER TABLE users DROP CONSTRAINT pk_users_id1");
```
这里使用 `ALTER TABLE` 语句来删除原来的主键,`pk_users_id1` 是原来主键的名称,需要根据实际情况修改。
3. 创建新的主键:
```cpp
QSqlQuery query;
query.exec("ALTER TABLE users ADD CONSTRAINT pk_users_id1_id2 PRIMARY KEY (id1, id2)");
```
这里使用 `ALTER TABLE` 语句来创建新的主键,将 `id1` 和 `id2` 字段组合成一个唯一索引来实现多字段主键。需要注意的是,SQL Server 中的表格只能有一个主键,如果需要使用联合主键,可以将多个字段组合成一个唯一索引来实现。
阅读全文