Как удалить несколько строк в SQL, где ID = (X в y)

Я пытаюсь запустить SQL-запрос, чтобы удалить строки с id'с 163 до 265 в таблице

Я попробовал удалить меньшее количество строк

    DELETE FROM `table` WHERE id IN (264, 265)

Но когда дело доходит до удаления 100'ов строк за раз, есть ли запрос, аналогичный вышеуказанным способом Я также пытаюсь использовать этот вид запросов, но не удалось выполнить это

    DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )

Скажите, пожалуйста, запрос для выполнения перечисленных выше действий...

Комментарии к вопросу (2)

Если вам нужно удалить из списка, вы можете использовать в:

DELETE FROM your_table
WHERE id IN (value1, value2, ...);

Если вам нужно удалить на основе результата запроса, вы также можете использовать в:

DELETE FROM your_table
WHERE id IN (select aColumn from ...);

(Обратите внимание, что подзапрос должен возвращать только один столбец)

Если вам нужно удалить на основе диапазона значений, либо вы используете "между" или использовать неравенство:

DELETE FROM your_table
WHERE id BETWEEN bottom_value AND top_value;

или


DELETE FROM your_table
WHERE id >= a_value AND id 
Комментарии (4)

Вы можете использовать между:

DELETE FROM table
where id between 163 and 265
Комментарии (0)

Пожалуйста, попробуйте это:


DELETE FROM `table` WHERE id >=163 and id
Комментарии (0)
CREATE PROC [dbo].[sp_DELETE_MULTI_ROW]       
@CODE XML
,@ERRFLAG  CHAR(1) = '0' OUTPUT    

AS        

SET NOCOUNT ON  
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED  

DELETE tb_SampleTest
    WHERE 
        CODE IN(
            SELECT Item.value('.', 'VARCHAR(20)')
            FROM  @CODE.nodes('RecordList/ID') AS x(Item)
            )

IF @@ROWCOUNT = 0
    SET @ERRFLAG = 200

SET NOCOUNT OFF

Получить строковое значение удалить


    1
    2
Комментарии (0)