Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有外键约束的数据库事务问题_Sql_Database_Foreign Keys - Fatal编程技术网

Sql 具有外键约束的数据库事务问题

Sql 具有外键约束的数据库事务问题,sql,database,foreign-keys,Sql,Database,Foreign Keys,根据SQL数据库的一般情况,我有一个问题: 比如说,我有实体类型A(A\u id:PK;…),B(B\u id:PK;…)和AB(A\u id:PK,FK;B\u id:PK,FK;…)。如您所见,最后一个是带有外键约束的联接表 由于我有一个抽象层,它将每个实体和每个关系视为“对象”(RESTful图形数据库),因此应平等对待以下语句(SQL伪代码): 1.) (二) (三) 当然,选项1应适用于每个SQL DBMS。但是选项2和选项3有什么用呢。这条语句是有效的(事务上下文)还是打破了外键约束

根据SQL数据库的一般情况,我有一个问题:

比如说,我有实体类型
A(A\u id:PK;…)
B(B\u id:PK;…)
AB(A\u id:PK,FK;B\u id:PK,FK;…)
。如您所见,最后一个是带有外键约束的联接表

由于我有一个抽象层,它将每个实体和每个关系视为“对象”(RESTful图形数据库),因此应平等对待以下语句(SQL伪代码):

1.)

(二)

(三)

当然,选项1应适用于每个SQL DBMS。但是选项2和选项3有什么用呢。这条语句是有效的(事务上下文)还是打破了外键约束

在第二种情况下(断开的外键约束),是否有按正确顺序插入数据(如示例中所述)的一般方法?是否存在某种反射或类似的东西


干杯。

取决于实施情况,另外:
可推迟最初推迟的时间
让您失望。对我有用。
BEGIN;
    INSERT A;
    INSERT B;
    INSERT AB;
COMMIT;
BEGIN;
    INSERT A;
    INSERT AB;
    INSERT B;
COMMIT;
BEGIN;
    INSERT AB;
    INSERT A;
    INSERT B;
COMMIT;