0

MySQLクエリに行き詰まっています。DB に 2 つのテーブルがあります: 1 つのデバイス 2 タスク

それらは1対1の関係にあります。タスクテーブルに「device_id」列があり、デバイステーブルに「task_id」列があります。指定された id_task でデバイス行を削除すると、タスクの行全体が削除されます。さらに、指定されたid_deviceでタスク行を削除したら、id_taskをnullに設定したいと思います。ALTER TABLE ALTER COLUMN ステートメントには可能性があると確信していますが、#1064 - SQL 構文に既に 30 分ほどエラーがあります。助言がありますか?ところで、いくつかの phpmyadmin がありますが、これらのオプションが見つかりません。おそらく ui からは利用できません。

4

1 に答える 1

0

外部キーを使用できます (innodb を使用していると仮定します)。

ALTER TABLE device
    ADD FOREIGN KEY
    (task_id)
    REFERENCES task (task_id)
    ON DELETE SET NULL

ALTER TABLE task
    ADD FOREIGN KEY
    (device_id)
    REFERENCES device (device_id)
    ON DELETE CASCADE

詳細な説明については、こちらを参照してください。

http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html

于 2013-07-24T11:36:03.360 に答える