2014-06-06 5 views
0

Я хочу изменить status одного заказа, выбрав его requisition_id, где status соответствует определенному ключевому слову. Но он продолжает показывать мне эту ошибку «Вы не можете указать целевую таблицу для обновления в ЕКЕ»Вы не можете указать таблицу назначения для обновления в предложении FROM в MySQL

UPDATE order_info 
SET status ='Approved' 
WHERE requisition_no IN (SELECT requisition_no FROM order_info WHERE status = 'not approved') 

Что я могу сделать, чтобы исправить это?

Edit- Я включил код PHP, а

while ($row = mysqli_fetch_array($result)){ 
echo "<tr>"; 
    echo "<td>" . $row['requisition_no'] . "</td>"; 
    echo "<td>" . $row['desig'] . "</td>"; 
    echo "<td>" . $row['deptt'] . "</td>"; 
    echo "<td>" . $row['type'] . "</td>"; 
    echo "<td>" . $row['make'] . "</td>"; 
    echo "<td>" . $row['quantity'] . "</td>"; 
    echo '<form method="post" action="status.php">'; /*Redirects to status.php to change the status (using diff. page because i'm a hopeless kid, who doesnt want to learn new ways of simplifying things)*/ 
    echo "<td>" . $row['status'] . "<br/>"; 

    if($row['status']=='Approved' || $row['status']=='Under Procurement'){//does nothing 
    } 
      /*Here, using a submit button*/ 
    else { echo '<input type="submit" name="status" value="Approve"></td>'; 
    $_SESSION['rno'] = $row['requisition_no'];} 
    echo '</form>'; 
+0

Вы по крайней мере, отсутствует равенства знак и правая скобка ')'. –

+0

, а также «=» явно отсутствует. – Neels

+0

Попробуйте использовать псевдоним таблицы – CyberDude

ответ

0

У вас есть несколько синтаксических ошибок, вероятно, вызывает эту ошибку. Вы пропускаете знак равенства = после status и правая скобка ) в конце:

UPDATE order_info o 
SET o.status = 'Approved' 
WHERE o.requisition_no IN (SELECT x.requisition_no FROM (select * from order_info) x WHERE x.status = 'not approved') 

Кроме того, я думаю, что ваш запрос можно переписать так:

UPDATE order_info 
SET status = 'Approved' 
WHERE status = 'not approved' 
Смежные вопросы

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