我坚持使用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提供的。
答案 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