sql >> データベース >  >> RDS >> Mysql

MySQLトリガーを使用して、追加したばかりの行を更新できますか?

    zerkmsが言ったように、あなたはデリメータを変更する必要があります。ただし、使用するコードは1行しかないため、BEGINとENDは必要ありません。そうすれば、区切り文字を変更する必要もありません

    CREATE TRIGGER `default_order_value` 
    AFTER INSERT ON `clusters` 
    FOR EACH ROW  
        UPDATE `clusters` SET `order` = NEW.id WHERE `id` = NEW.id; 
    

    エラーが発生したため、行を更新できません。次のことをお勧めします。

    更新クエリは一切実行しないでください。デフォルトでは、注文値=ID値です。したがって、注文値が変更された場合は、適切に更新できます。

    phpでデータをリクエストする場合は、次のようにします。

    $order = $row['order'];
    if ($order == '')
        $order = $row['id'];
    

    更新が必要になった後、正しい値が得られます。



    1. T-SQLのバグ、落とし穴、およびベストプラクティス–サブクエリ

    2. 死のphp白い画面

    3. MYSQL-フェッチされた配列から特定の値を選択します

    4. 指定されたキーが長すぎました。キーの最大長は767バイトです-ASPNetIdentityMySQL