2013-03-20 92 views
0

选定的记录我有这样的选择查询:删除通过选择查询

SELECT ji . * , a.acc_name 
FROM zp_journal_info ji 
INNER JOIN zp_account a ON a.id = ji.account_id 
WHERE ji.date_time LIKE '2013-03-19%' 
ORDER BY ji.id ASC 

我不知道数据库的其余任何事情,因为我没有开发,但我只需要删除由上述查询生成的行。下面的查询会正确地执行此操作吗?

DELETE 
FROM zp_journal_info ji 
INNER JOIN zp_account a ON a.id = ji.account_id 
WHERE ji.date_time LIKE '2013-03-19%' 
ORDER BY ji.id ASC 

回答

1

您只需要在删除记录的地方添加表名。

DELETE ji 
FROM zp_journal_info ji 
     INNER JOIN zp_account a ON a.id = ji.account_id 
WHERE ji.date_time LIKE '2013-03-19%' 

你也可以使用DATE

DELETE ji 
FROM zp_journal_info ji 
     INNER JOIN zp_account a ON a.id = ji.account_id 
WHERE DATE(ji.date_time) = '2013-03-19' 
+0

,但如果我需要删除出来的选择查询,即在两个表的* *整项是什么? – user961627 2013-03-20 09:42:10

+0

试试,'DELETE ji,a FROM ....'mysql支持 – 2013-03-20 09:43:05