txt que por lotes instrucción insertar ejemplos delimitador sql mysql

que - Consulta SQL donde el campo NO contiene $ x



instrucción bulk insert (2)

Quiero encontrar una consulta SQL para encontrar filas donde field1 no contiene $ x. ¿Cómo puedo hacer esto?


¿Qué tipo de campo es este? El operador IN no se puede usar con un solo campo, pero se debe usar en subconsultas o con listas predefinidas:

-- subquery SELECT a FROM x WHERE x.b NOT IN (SELECT b FROM y); -- predefined list SELECT a FROM x WHERE x.b NOT IN (1, 2, 3, 6);

Si está buscando una cadena, busque el operador LIKE (pero esto será lento):

-- Finds all rows where a does not contain "text" SELECT * FROM x WHERE x.a NOT LIKE ''%text%'';

Si lo restringe para que la cadena que está buscando tenga que comenzar con la cadena dada, puede usar índices (si hay un índice en ese campo) y ser razonablemente rápido:

-- Finds all rows where a does not start with "text" SELECT * FROM x WHERE x.a NOT LIKE ''text%'';


SELECT * FROM table WHERE field1 NOT LIKE ''%$x%''; (Asegúrese de evitar $ x correctamente de antemano para evitar la inyección de SQL)

Edit: NOT IN hace algo un poco diferente; tu pregunta no está del todo clara, así que elige cuál usar. LIKE ''xxx%'' puede usar un índice. LIKE ''%xxx'' o LIKE ''%xxx%'' no puede.