MS SQL Server - 无法在不同的表

时间:2018-06-19 08:49:11

标签: sql sql-server

我在同一个数据库(MS SQL Server)中的两个单独的表上创建索引,并且我收到一条错误,指出索引已经存在。

如果我将索引名称更改为另一个,则此错误不会再次出现。

请帮忙。非常感谢。

Microsoft SQL Server Management Studio的屏幕截图

screenshot

2 个答案:

答案 0 :(得分:3)

我强烈建议视觉设计师将你引入歧途。 IIRC,索引使用来使用模式范围的名称(我想在7.0或2000年代之前。在用户/模式分离之前),后来获得了只需要在单个表中唯一的能力水平 1

如果您尝试手动创建重复索引,则会收到错误:

  

操作失败,因为表'var REF = firebase.database().ref(); var array ; var flag = 1 ; chrome.browserAction.onClicked.addListener(function (tab) { chrome.tabs.executeScript(tab.ib, { file: 'content.js' }); address = tab.id; REF.child('numbers').once('value').then( function(snapshot){ array = snapshot.val() ; console.log("number add/remove in firebase"); console.log(array); chrome.tabs.sendMessage(address,array); }); }); chrome.runtime.onMessage.addListener(function(data,sender){ REF.child(data.number).push(data); console.log(data); });'上已存在名称为“<name>”的索引或统计信息。

由于这显然不是您所看到的错误,我强烈怀疑它是视觉设计师中的旧代码,而另一个原因是不使用它。

1 不幸的是,我们所处的领域是微软网站不再提供正确期间的历史文档。过去更容易验证这些回忆,因为您仍然可以在那里找到“SQL Server 2000中的新功能”等页面。

答案 1 :(得分:1)

Indexes需要像数据库中的每个其他对象一样的名称。索引的名称为unique我可以建议您使用命名约定。

IX_{TABLE_NAME}_{COLUMNS_NAME}

示例将针对列CITIES - NAME

的表IX_CITIES_NAME