我想用LINQ to SQL对两列强制执行唯一约束.我在SQL表上配置了约束,但有没有办法将它与LINQ to SQL一起使用?
唯一约束应用于两列,两列都是外键.
谢谢
编辑:我可以捕获异常,即如果抛出一个非常特殊的异常.另一种方法是在运行任何更新/插入之前检查表的状态.对于一个非常简单的任务来说,似乎都需要做太多的工作.
当我需要将空值视为相等时,如何创建唯一约束。
为了
更改表 T1 添加约束 T1_UN 唯一 (nvl(C1, ' '))
我明白了
ORA-00904: : invalid identifier
Run Code Online (Sandbox Code Playgroud)
nvl 点数
谢谢!
我有一张桌子:
create table DB.t1 (id SERIAL,name varchar(255));
Run Code Online (Sandbox Code Playgroud)
并插入一些数据:
insert into DB.t1 (name) values ('name1');
insert into DB.t1 (id,name) values (5,'name2');
insert into DB.t1 (name) values ('name3');
insert into DB.t1 (name) values ('name4');
insert into DB.t1 (name) values ('name5');
insert into DB.t1 (name) values ('name6');
insert into DB.t1 (name) values ('name7');
select * from DB.t1;
Run Code Online (Sandbox Code Playgroud)
然后我可以看到:
1 name1
5 name2
2 name3
3 name4
4 name5
5 name6 -- how to make auto-increment jump over '5'?
6 name7
Run Code Online (Sandbox Code Playgroud)
但是5次出现两次。如何保持id独特性?
postgresql sequence auto-increment unique-constraint gaps-and-islands
我有三张桌子 -
file (
file_id int primary key
filename text not null
etc...
)
product (
product_id int primary key
etc....
)
product_attachment (
product_id references product
file_id references file
)
Run Code Online (Sandbox Code Playgroud)
我想确保当这些是自然连接时,product_id + 文件名是唯一的。到目前为止,我拥有的最佳解决方案是将文件名添加到 product_attachment 表中,但我想知道是否有办法避免这种情况。
我正在使用Oracle数据库,我需要创建一个如下所示的表.
MAP(Point_One, Poin_Two, Connection_weight).
Run Code Online (Sandbox Code Playgroud)
该表表示有关图表的数据.我想创建一个具有约束的表,以防止插入已存在的连接.
例如,该表已包含此连接:
Point_One | Point_Two | Connection_weight
-----------------------------------------
p_no1 | p_no2 | 10
Run Code Online (Sandbox Code Playgroud)
即使我尝试以不同的顺序添加点,约束也会阻止重复插入此连接.(例如:(p_no2,p_no1,10))
一个简单的UNIQUE(Point_One,Point_Two)约束是不幸的.你有什么建议吗?
如何获得Oracle数据库中对应列的唯一的constraint_name?
换句话说,我想按列名获取约束名称。
伪查询此问题:
select constraint_name from table_name tname where tname.column_name = 'columnName';
Run Code Online (Sandbox Code Playgroud)
这可能吗?
每个Annotate索引和唯一性,似乎它可以添加如下所示的唯一约束,
但在AndroidStudio 3中出现错误(编辑器有红色下划线表示"未解析参考:索引"),:
/Users/application/database/DbAuthor.kt
Error:(14, 39) Expecting an element
@Entity(tableName = "author" indices = arrayOf(Index(value = "authorid", unique = true)))
class DbAuthor(
@ColumnInfo(name = "authorid")
var authorid: Int? = null,
Run Code Online (Sandbox Code Playgroud)
如何在使用kotlin时在字段上添加唯一约束?
gradle就像:
buildscript {
ext {
verAndroidSupport = '27.0.0'
arch = "1.0.0"
archRoomVersion = "1.0.0"
}
ext.kotlin_version = '1.2.20'
Run Code Online (Sandbox Code Playgroud)
和
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
//arch
implementation "android.arch.lifecycle:runtime:${arch}"
implementation "android.arch.lifecycle:extensions:${arch}"
annotationProcessor "android.arch.lifecycle:compiler:${arch}"
//room
compile "android.arch.persistence.room:runtime:${archRoomVersion}"
annotationProcessor "android.arch.lifecycle:compiler:${arch}"
annotationProcessor "android.arch.persistence.room:compiler:${archRoomVersion}"
kapt "android.arch.persistence.room:compiler:1.0.0-alpha1"
Run Code Online (Sandbox Code Playgroud) 我有一个appointments表,其中包含(除其他外)a[personid]和一[appdate]列datetime(2)数据类型。我想添加一项限制,以防止任何人personid在任何一天获得多次预约。
我尝试过,但没有成功
ALTER TABLE dbo.tblappointments
ADD CONSTRAINT SingleApp UNIQUE (PersonID, CAST(Appdate AS DATE))
Run Code Online (Sandbox Code Playgroud)
谢谢。
我有一个非常简单的表:
id | name | alternate
--------+--------+------------
1 | Joe | Joseph
--------+--------+------------
2 | Pete | Peter
--------+--------+------------
Run Code Online (Sandbox Code Playgroud)
等等。
我想在名称和备用列上添加约束,但与顺序无关。例如,我不希望能够插入(3, 'Peter', 'Pete'),因为它本质上与 id 2 相同,只是列颠倒了。
有没有办法做到这一点?
我创建了以下两个表来绘制学生和教师的地图:
CREATE TABLE students(
student_id SERIAL PRIMARY KEY,
first_name NOT NULL VARCHAR(50),
last_name NOT NULL VARCHAR(50),
phone VARCHAR(15) UNIQUE NOT NULL CHECK (phone NOT LIKE '%[^0-9]%'),
email VARCHAR(30) UNIQUE NOT NULL CHECK (email NOT LIKE '%@%'),
graduationYear SMALLINT CHECK (graduationYear > 1900)
);
CREATE TABLE teachers(
teacher_id SERIAL PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
departament VARCHAR(40) NOT NULL,
email VARCHAR(30) UNIQUE NOT NULL CHECK (email NOT LIKE '%@%'),
phone VARCHAR(15) UNIQUE NOT NULL CHECK (phone NOT …Run Code Online (Sandbox Code Playgroud) sql postgresql database-design constraints unique-constraint
sql ×6
postgresql ×4
oracle ×3
android-room ×1
constraints ×1
create-table ×1
date ×1
foreign-keys ×1
kotlin ×1
linq ×1
linq-to-sql ×1
sequence ×1
sql-server ×1