2016-01-03 5 views
0

Например, если characterid = NULL Я хочу всю строку удалены: пример того, что я хочу Удалено:Как усечь строку на основе данных столбца?

http://puu.sh/mhveP/b2df36f6cc.png

но если characterid имеет значение, то я хочу, чтобы сохранить всю строку: пример строки I хотите сохранить:

enter image description here

Очевидно, что я могу удалить Ряды сам вручную, но это займет так много времени, чтобы сделать их всех.

+0

'где characterid является null' – amdixon

+0

Также усечение в MySQL полностью опустошает таблицу: http://dev.mysql.com/doc /refman/5.7/ru/truncate-table.html Команда, которую вы хотите удалить. –

+0

@amdixon, даже если это просто, напишите ответ как ваш комментарий. – DRC

ответ

2

Запрос на удаление довольно похож на запрос выбора, за исключением того, что он указывает DELETE FROM вместо SELECT * FROM. Вы бы запустить ваш удалить так:

DELETE FROM table WHERE characterid IS NULL 

Перед запуском удаления запроса, вы можете запустить, чтобы убедиться, что он соответствует критериям данных, которые вы хотите удалить:

SELECT * FROM table WHERE characterid IS NULL 

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

0

Если ваш вопрос о PLSQL, то я думаю, что вы можете использовать:

Select characterid 
    into //any variable// 
    from //tablename 
    where //condition 
then you will check 
    if(anyvariable is null) 
    then 
     Delete from //tablename 
    where //condition 
+1

FYI, он помечен как MySQL – Clay

+0

Да Я знаю, но моя информация была для Oracle PLSQL. В противном случае вы можете преобразовать его в MySQL. Единственное, что вам нужно: Удалить из // tablename, где characterid = null; – Zanub

Смежные вопросы