条件相同但错误导致mysql删除并选择

时间:2015-05-06 08:16:48

标签: mysql select procedure

DELETE
FROM TB_VALIDATE_PARAM
WHERE UPPER(CONCAT(c_object_id, c_column_code)) NOT IN (
    SELECT UPPER(CONCAT(COL.TABLE_NAME, COL.COLUMN_NAME))
    FROM information_schema.COLUMNS AS COL
    WHERE COL.TABLE_SCHEMA = 'jlink'
);

SELECT * 
FROM TB_VALIDATE_PARAM
WHERE UPPER(CONCAT(c_object_id, c_column_code)) NOT IN (
    SELECT UPPER(CONCAT(COL.TABLE_NAME, COL.COLUMN_NAME))
    FROM information_schema.COLUMNS AS COL
    WHERE COL.TABLE_SCHEMA = 'jlink'
);

如您所见,数据库是MYSQL。 DELETE SELECT 中的条件相同。但是当 SELECT 一个可以' t获取任何行, DELETE 删除表中的所有数据。我确定表 TB_VALIDATE_PARAM 有这么多行。是不是Mysql分析了 SELECT DELETE 中不同的条件?

1 个答案:

答案 0 :(得分:0)

尝试这是否适合您。

textarea