我试图删除两个表之间相同的id。并通过获取图像文件值来删除存储文件。例如过程:用户ID(表1)-〉用户ID(表2)-〉化身-〉文件名-〉删除图像-〉删除第一表和第二表之间来自相同用户ID的所有数据
我有两张table,
*user* table
| user_id | Full_name |
| -------- | -------------- |
| 1 | Steve Jobs |
| 2 | Bill Gates |
| 3 | Elon Musk |
*users_option* table (with both column foreign keys)
| user_id | user_option | user_value |
| ------------ | -------------- | -------------- |
| 1 | email | abc@abc.com |
| 1 | avatar | 'big.jpg','sml.png' |
| 1 | username | stevejobs |
| 2 | email | def@def.com |
| 2 | avatar | 'big.png','sml.jpeg' |
| 2 | username | billgates |
我几乎不会用ORM MySQL编写这段代码
ORM::table($config['db']['pre'].'user')
ORM::table($config['db']['pre'].'user_option')
简单地说,我只是想完全删除来自同一个user_id的所有数据。
我只想完全删除来自同一个user_id的所有数据。
1条答案
按热度按时间kx7yvsdv1#
要在MySQL中使用ORM删除两个表中同一user_id的所有数据,可以将DELETE语句与JOIN子句一起使用。
下面是一个示例,说明如何执行此操作:
这将删除user和user_option表中具有指定user_id的所有行。您可以使用预准备语句将值绑定到查询中的:user_id占位符,以指定要删除哪个用户的数据。
要同时删除虚拟角色文件,您需要从user_option表中获取文件名,然后使用编程语言的文件系统函数删除这些文件。
例如,您可以执行以下操作: