将更新/删除选项添加到现有列

时间:2013-07-24 11:26:51

标签: mysql phpmyadmin

我坚持使用MySQL查询。我的数据库中有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提供的。

1 个答案:

答案 0 :(得分: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