删除sqlite数据库中列的唯一约束
发布时间:2020-12-12 18:52:37 所属栏目:百科 来源:网络整理
导读:我试图删除sqlite列上的UNIQUE约束,但我没有删除约束的名称.如何找到UNIQUE约束名称的名称以将其删除. 下面是我在表中看到的模式,我想删除约束 UNIQUE(datasource_name) sqlite .schema datasourcesCREATE TABLE "datasources" ( created_on DATETIME NOT NU
我试图删除sqlite列上的UNIQUE约束,但我没有删除约束的名称.如何找到UNIQUE约束名称的名称以将其删除.
下面是我在表中看到的模式,我想删除约束 UNIQUE(datasource_name) sqlite> .schema datasources CREATE TABLE "datasources" ( created_on DATETIME NOT NULL,changed_on DATETIME NOT NULL,id INTEGER NOT NULL,datasource_name VARCHAR(255),is_featured BOOLEAN,is_hidden BOOLEAN,description TEXT,default_endpoint TEXT,user_id INTEGER,cluster_name VARCHAR(250),created_by_fk INTEGER,changed_by_fk INTEGER,"offset" INTEGER,cache_timeout INTEGER,perm VARCHAR(1000),filter_select_enabled BOOLEAN,params VARCHAR(1000),PRIMARY KEY (id),CHECK (is_featured IN (0,1)),CHECK (is_hidden IN (0,FOREIGN KEY(created_by_fk) REFERENCES ab_user (id),FOREIGN KEY(changed_by_fk) REFERENCES ab_user (id),FOREIGN KEY(cluster_name) REFERENCES clusters (cluster_name),UNIQUE (datasource_name),FOREIGN KEY(user_id) REFERENCES ab_user (id) ); 解决方法SQLite仅支持 limited ALTER TABLE,因此您无法使用ALTER TABLE删除constaint. “删除”列可以做的是重命名表,使用除UNIQUE约束之外的相同模式创建新表,然后将所有数据插入到新表中. ALTER TABLE文档的“制作其他种类的表模式更改”部分中介绍了此过程.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- c# – 为什么一个事件是空的? (你调用的对象是空
- c# – web.config maxJsonLength问题
- React Native集成到Android项目当中
- c# – Xamarin.Forms WidthRequest值的意思
- xsl with xml with root element中的属性不起作用
- sqlite&ef中处理自增列
- How to Load XML with JavaScript on an HTML5 P
- ruby-on-rails – Rails形成帮助器number_field_
- ruby-on-rails – 基于与ID不同的东西的Rails路由
- objective-c – 在applicationWillResignActive中
热点阅读