create table re(id numeric(1),bin varchar(10))
Run Code Online (Sandbox Code Playgroud)
如何在表和外键上添加非null
这是内部异常:
InnerException: System.Data.UpdateException
Message=Entities in 'OrganizerDBEntities.Assignments' participate in
the 'CourseId' relationship. 0 related 'Course' were found.
1 'Course' is expected.`
Run Code Online (Sandbox Code Playgroud)
我有三个表(文件夹,作业,课程).Assignment表有一个名为AssignmentId的主键和一个名为CourseId的外键,其"Allow Nulls"属性已设置为true.所以这个例外阻止我调用_entities.SaveChanges(); 从而阻止我向数据库添加数据.
更新:感谢marc,问题解决了,但另一个问题出现了:
InnerException: System.Data.UpdateException
Message=An error occurred while updating the entries. See the InnerException for details.
Source=System.Data.Entity
StackTrace:
at System.Data.Mapping.Update.Internal.UpdateTranslator.Update(IEntityStateManager stateManager, IEntityAdapter adapter)
at System.Data.EntityClient.EntityAdapter.Update(IEntityStateManager entityCache)
at System.Data.Objects.ObjectContext.SaveChanges(Boolean acceptChangesDuringSave)
at System.Data.Objects.ObjectContext.SaveChanges()
at AssignmentOrganizer.App_Data.AssignmentRepository.CreateAssignment(Assignment assignmentToCreate) in C:\Users\Mohit\Documents\Visual Studio 2010\Projects\AssignmentOrganizer\AssignmentOrganizer\App_Data\AssignmentRepository.cs:line 19
at AssignmentOrganizer.MainWindow..ctor() in C:\Users\Mohit\Documents\Visual Studio 2010\Projects\AssignmentOrganizer\AssignmentOrganizer\MainWindow.xaml.cs:line 54
InnerException: System.Data.EntityCommandCompilationException
Message=An error occurred while preparing the command definition. See the …Run Code Online (Sandbox Code Playgroud) 我有一个表与另一个表有外键关系.
我想检查如果存在这种关系,请删除它.
如何编写此查询.
谢谢.
我有一个数据库,经过几年来从几个不同编码人员的输入经历了一些重大转变.某些表包含通过引用列对其他数据的引用,但没有外键约束.这意味着有些表可能包含死链接.
我想将外键约束添加到所有引用列.如果某些数据可能引用死链接而其他数据实际上可能为空,我怎样才能确保成功.
我想我需要这样说:
ALTER TABLE dbo.Users ADD CONSTRAINT FK_Users_Persons FOREIGN KEY
(
Person_ID --In some cases Person_ID will be null
) REFERENCES dbo.People
(
Person_ID
) ON UPDATE NO ACTION
ON DELETE NO ACTION
NOT FOR REPLICATION
GO
ALTER TABLE dbo.Users
NOCHECK CONSTRAINT FK_Users_Persons
GO
COMMIT
Run Code Online (Sandbox Code Playgroud)
如果这是准确的,如果有任何隐藏的陷阱,请告诉我?
提前致谢
我想放一张桌子 drop table EMPLOYEE;
但我得到错误: #1217 - Cannot delete or update a parent row: a foreign key constraint fails
我在互联网上环顾四周,以显示隐藏的限制,并发现:
CREATE TABLE `EMPLOYEE` (
`Ssn` int(9) NOT NULL,
`Dno` int(11) NOT NULL,
UNIQUE KEY`Ssn_8` (`Ssn`),
UNIQUE KEY`Dno_13` (`Dno`),
CONSTRAINT `EMPLOYEE_ibfk_1` FOREIGN KEY(`Dno`) REFERENCES `DEPARTMENT` (`Dnumber`),
CONSTRAINT `EMPLOYEE_ibfk_2` FOREIGN KEY(`Dno`) REFERENCES `DEPARTMENT` (`Dnumber`),
CONSTRAINT `EMPLOYEE_ibfk_3` FOREIGN KEY(`Dno`) REFERENCES `EMPLOYEE` (`Dno`),
CONSTRAINT `EMPLOYEE_ibfk_4` FOREIGN KEY(`Dno`) REFERENCES `EMPLOYEE` (`Dno`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE `DEPARTMENT` (
`Dnumber` int(11) NOT NULL,
`Mgr_ssn` int(9) …Run Code Online (Sandbox Code Playgroud) phpmyadmin版本:4.1.14
数据库引擎:InnoDB
索引已设置:
ALTER TABLE `tbl_name` ADD INDEX( `user_id`);
Run Code Online (Sandbox Code Playgroud)
我的查询:
ALTER TABLE `tbl_name` ADD FOREIGN KEY (`user_id`) REFERENCES `<db_name>`.`user`(`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
Run Code Online (Sandbox Code Playgroud)
但我仍然有错误:
#1215 - Impossible d'ajouter des contraintes d'index externe
Run Code Online (Sandbox Code Playgroud)
在mysql文档中出现此错误:
Erreur: 1215 SQLSTATE: HY000 (ER_CANNOT_ADD_FOREIGN)
Run Code Online (Sandbox Code Playgroud)
什么是错的,我必须做些什么才能解决这个问题?也许我在phpmyadmin设置中忘了一些东西?




我正在学习使用Oracle 12.1.
下面的外键定义有什么问题?
set echo on
drop table city;
drop table emp;
create table city (
id number primary key,
name varchar2(20)
);
create table emp (
id number,
cityid number foreign key references city(id)
);
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我收到以下错误.
$ sqlplus / as sysdba @foo.sql
...
...
SQL>
SQL> create table city (
2 id number primary key,
3 name varchar2(20)
4 );
Table created.
SQL>
SQL> create table emp (
2 id number,
3 cityid number foreign key references city(id)
4 …Run Code Online (Sandbox Code Playgroud) 使用REFERENCE时我们还需要使用FOREIGN KEY,两者之间有什么区别.
例如:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)
与:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)
它似乎工作没有包括关键字"外键",所以我想知道在w
我觉得这是一个非常基本的问题,但无法找到答案.
PS:我们正在使用Elastic 6.x
AS Elastic Search升级后,几乎没有出现重大变化。我们有一些关系数据,需要嵌套或父/子模式进行管理。
对于最终决定,我想知道我有以下问题:
我相信,上述问题的答案可以帮助我确定字段类型,让我知道是否还有其他应考虑的事项
提前致谢
假设我有以下表格:
问题,选择,答案
每个问题都有很多选择(选择具有question_id外键。)
Answers表具有两个外键question_id和choice_id,并且这些约束可以防止引用不存在的question或的答案choice,但我也想防止无效的选择。
我如何表达一个约束(也许不是正确的词),该约束仅允许答案choice_id是给定的有效选择question_id?例如,如果我有2个问题,每个问题有2个选择:
我想允许像(question_id= 1,choice_id= 1(或2))之类的答案并阻止像(question_id= 1,choice_id= 4)之类的答案,因为这不是问题的有效选择。
foreign-keys ×10
sql ×5
mysql ×2
sql-drop ×2
sql-server ×2
c# ×1
database ×1
exists ×1
many-to-many ×1
oracle ×1
oracle12c ×1
phpmyadmin ×1
postgresql ×1
syntax ×1
t-sql ×1