匹配约束后从MySQL表中删除

时间:2013-11-17 10:22:40

标签: mysql

我正在尝试从表nalocation

中删除所有内容

我的sql是:

DELETE FROM `nalocation` nl, nafeatureimp nf, nasequenceimp ns, bga_SRes.taxon t
WHERE nl.`na_feature_ID` = nf.`na_feature_ID`
AND nf.`na_sequence_ID` = ns.na_sequence_ID
AND ns.taxon_ID = t.taxon_ID
AND t.taxon_ID =755178

但我收到错误1064 ..我想这是因为我正试图删除我加入的所有表格中的所有内容。

如何在匹配所有这些约束后从nalocation删除所有内容?

2 个答案:

答案 0 :(得分:1)

你能不能尝试,

DELETE n1, nf, ns, t FROM {nalocation {1}} {na_feature_ID {1}} {na_feature_ID {1}} {na_sequence_ID {1}}

注意

如果声明表的别名,则在引用表时必须使用别名。

参考:http://dev.mysql.com/doc/refman/5.0/en/delete.html

答案 1 :(得分:1)

您需要在单词DELETEFROM

之间指定要删除的表的别名
DELETE nl FROM `nalocation` nl, nafeatureimp nf, nasequenceimp ns, bga_SRes.taxon t
WHERE nl.`na_feature_ID` = nf.`na_feature_ID`
AND nf.`na_sequence_ID` = ns.na_sequence_ID
AND ns.taxon_ID = t.taxon_ID
AND t.taxon_ID =755178