我正在尝试从多个mysql表中删除new_id
列值等于2的行,但是我不知道所有这些表是否都具有列new_id
。
我尝试以下语句,但是它给出了语法错误:
DELETE FROM table_name WHERE new_id =2 IF EXISTS new_id int(11)
该怎么做?
答案 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;