2017-04-03 3 views
0

私は基本的にデータのバッファとして使用しているので、ENGINER = MEMORYを使用している小さな3テーブルデータベースを作成しています。データベースには、以下の構造を有する:CASCADE mysqlを削除

The overview

私の質問があるので、私は、MySQLのにそれほどないよ:それはCASCADE DELETEを持つことが可能であり、そのような私はMeassurementIterationを削除し、すべてのMeassurementSet年代ということと、反復に結合された消耗品は削除されますか?

コード:

-- Last modification date: 2017-04-03 08:09:06.263 

-- tables 
-- Table: Meassurement 
CREATE TABLE Meassurement (
    id int NOT NULL AUTO_INCREMENT, 
    msWay varchar(75) NOT NULL, 
    qosClass int NOT NULL, 
    timeReceived timestamp NOT NULL, 
    timeReceivedFarEnd timestamp NOT NULL, 
    timeSent timestamp NOT NULL, 
    timeSentFarEnd timestamp NULL, 
    seq int NOT NULL, 
    MeassurementSet_id int NOT NULL, 
    CONSTRAINT Meassurement_pk PRIMARY KEY (id) 
) ENGINE MEMORY COMMENT 'Contains data for a single meassurement'; 

-- Table: MeassurementIteration 
CREATE TABLE MeassurementIteration (
    id int NOT NULL AUTO_INCREMENT, 
    start timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
    end timestamp NULL, 
    active bool NOT NULL, 
    CONSTRAINT MeassurementIteration_pk PRIMARY KEY (id) 
); 

-- Table: MeassurementSet 
CREATE TABLE MeassurementSet (
    id int NOT NULL AUTO_INCREMENT, 
    avgDelayRT double NULL, 
    avgDelayTR double NULL, 
    avgRTD double NULL, 
    maxDelayRT double NULL, 
    maxDelayTR double NULL, 
    maxRTD double NULL, 
    minRTD double NULL, 
    minDelayRT double NULL, 
    minDelayTR double NULL, 
    qosClass int NOT NULL, 
    stdDev double NULL, 
    stdDevRT double NULL, 
    stdDevTR double NULL, 
    msWay varchar(75) NOT NULL, 
    MeassurementIteration_id int NOT NULL, 
    CONSTRAINT MeassurementSet_pk PRIMARY KEY (id) 
) ENGINE MEMORY COMMENT 'Contains a set of meassurements specific to a qosclass and Meassurementway'; 

-- foreign keys 
-- Reference: MeassurementSet_MeassurementIteration (table: MeassurementSet) 
ALTER TABLE MeassurementSet 
    ADD CONSTRAINT MeassurementSet_MeassurementIteration 
    FOREIGN KEY MeassurementSet_MeassurementIteration (MeassurementIteration_id) 
     REFERENCES MeassurementIteration (id) ON DELETE CASCADE; 

-- Reference: Meassurement_MeassurementSet (table: Meassurement) 
ALTER TABLE Meassurement 
    ADD CONSTRAINT Meassurement_MeassurementSet 
    FOREIGN KEY Meassurement_MeassurementSet (MeassurementSet_id) 
     REFERENCES MeassurementSet (id) ON DELETE CASCADE; 

-- End of file. 

よろしく。

+0

http://www.mysqltutorial.org/mysql- REFERENTIAL_CONSTRAINTS FROM on-delete-cascade / – scaisEdge

答えて

1

ON DELETE CASCADEENGINE = MEMORYと一緒に使用することはできません。 外部キーはサポートされていません。

ここで参照:(MySQLのドキュメント)[https://dev.mysql.com/doc/refman/5.6/en/memory-storage-engine.html]

Table 15.4 MEMORY Storage Engine Features 
--------------------------------------------------- 
Foreign key support No 

あなたは、あまりにも他の同様の質問を、これを確認することができます。 MySql memory engine do not check on update foreign key?

0

SELECT table_nameenterコードここ CONSTRAINT_SCHEMA = 'classicmodels' enter code hereと referenced_table_name = '建物' AND DELETE_RULE = 'CASCADE'

関連する問題