开发者

Delete rows from multiple tables based on a single input

开发者 https://www.devze.com 2023-03-13 14:13 出处:网络
I have three tables: estate_field_data estate_field_types estate_fields And the only input i have from the browser is estate_field_types.ID = 3

I have three tables:

estate_field_data
estate_field_types
estate_fields

And the only input i have from the browser is estate_field_types.ID = 3

estate_fields contains a definition for estate_field_types.ID => estate_fields.FieldType

But estate_field_data does not have a 开发者_开发技巧definition for the estate_field_types.ID, but instead a estate_field_data.FieldID => estate_fields.ID

How can I delete from all three rows with this single value?

Thank you! :-)


You have to do it as 3 separate statements (unless you've set up cascading deletes on your foreign key references). I'm assuming there's a PK in estate_fields (I've chosen to call it estate_field_id) which estate_field_data references (otherwise, I'm unsure how we identify what to delete from that table)

delete from estate_field_data where estate_field_id in (select estate_field_id from estate_fields where FieldType = 3)

delete from estate_fields where FieldType = 3

delete from estate_field_types where ID = 3


Try with joins as well.... Damien ... Should we suggest OP for Joins usage? May be quicker in OP case?

Delete K From estate_field_data K
Inner Join estate_fields F on F.estate_field_id = K.estate_field_id
Where F.estate_field_id = 3
0

精彩评论

暂无评论...
验证码 换一张
取 消