我的mysql命令很简单:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
我只想同时删除这两个表。但是当我执行它时,客户端告诉我有一个sytax错误。
如果我使用chnage从表到单一,删除两次,两者都可以成功。
但是,我查看官方文档:http://dev.mysql.com/doc/refman/5.7/en/delete.html语法如下:
USING table_references
private class LongOperation extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
//Call the address() method
return "";
}
@Override
protected void onPostExecute(String result) {
//Stop showing your progress bar
}
@Override
protected void onPreExecute() {
//Start showing your progress bar
}
}
是什么意思?我必须一起加入他们吗?
答案 0 :(得分:0)
如果你想&#34;删除&#34;表使用DROP命令。如果要清除表中的所有行,请使用TRUNCATE命令。
答案 1 :(得分:0)
您可以通过将它们放入事务中从2个表中删除。 我不确定在一个查询中是否可以删除2个表。当从任何表中删除时,您可以在from子句中包含1个或多个表。
delete table1
from table1, table2 -- that what tbl_references mean above
where table1.c1=table2.c1
你需要什么: 使用可以与两个表连接的键创建一个驱动程序表,以防从第一个表中删除将难以从第二个表中删除..
being transaction
delete table1
from table1 t, drv d
where t.key = d.key
delete table2
from table2 t, drv d
where t.key = d.key
commit -- if successful
rollback -- if unsuccessful..
答案 2 :(得分:0)
你必须通过半冒号将它分开,就像这样: DELETE FROM ts_template_size;删除ts_thumbnail;
答案 3 :(得分:0)
Mysql - delete from multiple tables with one query
可能重复您实际上可以在这两个表(多个表)上执行DROP表,如下所示:
drop table table1, table2, table3;
或者将删除放在交易中:
start transaction
begin
delete from table1;
delete from table2;
delete from table3;
commit;
或者您可以创建包含动态SQL代码的UDF,您可以将表列表作为数组提供,并在UDF中执行删除。
call delete_tables(list_of_tables);