복붙노트

[SQL] SQL에서 여러 행을 삭제하는 방법 어디 ID = (X와 Y)

SQL

SQL에서 여러 행을 삭제하는 방법 어디 ID = (X와 Y)

나는 테이블에 ID를 163 265으로 삭제 행에 SQL 쿼리를 실행하려고

나는 행의 적은 번호를 삭제하려면이 시도

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

그것은 한 번에 행 (100 개)의 삭제에 관해서 때, 어떤 쿼리는 위의 방법과 유사 있습니까 또한 쿼리의이 종류를 사용하려고 시도하지만 실행에 실패하고

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

위의 작업을 수행하는 나에게 쿼리를 알려주세요 ...

해결법

  1. ==============================

    1.당신이 목록을 기반으로 삭제해야 할 경우 IN을 사용할 수 있습니다 :

    당신이 목록을 기반으로 삭제해야 할 경우 IN을 사용할 수 있습니다 :

    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 <= another_value;
    
  2. ==============================

    2.당신은 BETWEEN 사용할 수 있습니다 :

    당신은 BETWEEN 사용할 수 있습니다 :

    DELETE FROM table
    where id between 163 and 265
    
  3. ==============================

    3.이것을 시도하십시오 :

    이것을 시도하십시오 :

    DELETE FROM `table` WHERE id >=163 and id<= 265
    
  4. ==============================

    4.

    Delete Id from table where Id in (select id from table)
    
  5. ==============================

    5.

    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
    

    문자열 값 삭제 받기

    <RecordList>
        <ID>1</ID>
        <ID>2</ID>
    </RecordList>
    
  6. from https://stackoverflow.com/questions/16029441/how-to-delete-multiple-rows-in-sql-where-id-x-to-y by cc-by-sa and MIT license