如果MySQL中存在列,则删除行

时间:2019-07-02 06:47:18

标签: mysql sql sql-delete

我正在尝试从多个mysql表中删除new_id列值等于2的行,但是我不知道所有这些表是否都具有列new_id

我尝试以下语句,但是它给出了语法错误:

DELETE FROM table_name WHERE new_id =2 IF EXISTS new_id int(11)

该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用以下查询获取列名

SHOW COLUMNS FROM `table_name` LIKE 'new_id';

然后从前端您可以决定执行删除查询

答案 1 :(得分:1)

您可以签入information schema

IF EXISTS ( SELECT * 
            FROM information_schema.columns 
            WHERE table_name = 'table_name' 
            AND column_name = 'new_id' 
            AND table_schema = DATABASE () ) THEN
DELETE FROM table_name WHERE new_id = 2;
END IF;