したいこと
特定の値が出た場合、そのid番のレコードを削除
ない場合については、idが最大のレコードを削除
phpで書いていたコードについては以下になります。
php
1$sql = 'DELETE FROM cp_plan WHERE id = (CASE WHEN id= '.$id_number; 2$sql .= ' THEN ' .$id_number; 3$sql .= ' ELSE (SELECT mid FROM (SELECT max(id) as mid from cp_plan) AS tmp ) END)';
またsqlの表示としては以下になります。
sql
1DELETE FROM cp_plan WHERE id = (CASE WHEN id= 176 THEN 176 ELSE (SELECT mid FROM (SELECT max(id) as mid from cp_plan) AS tmp ) END)
これを行ったとき、特定のid番のレコードと最大のレコードの2つが消えてしまいます。
どう直していいのかが特定できないのが現状です。。。
ご助力お願いします。
DBの種類はMySQL、versionは10.1.31、環境はphpmyadminです。
回答3件
あなたの回答
tips
プレビュー