Announcement

Collapse
No announcement yet.

unsafe statement

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • unsafe statement

    HiHO,
    kann mir einer erklären warum das hier ein "unsafe" Statement ist und wie man das hinbekommt als "safe" Statement??

    ```
    UPDATE services s SET s.deleted_at = NOW() WHERE s.user_id IN (SELECT u.id FROM users u WHERE u.deleted_at IS NOT NULL) AND s.deleted_at IS NULL;
    ```

    Gruß

    Timo

  • #2
    https://dev.mysql.com/doc/internals/...tatements.html

    Das wird wohl an dem NOW liegen...
    Christian

    Comment


    • #3
      hi @Christian,
      nein habe es auch schon ohne now versucht;

      ```
      SET @d = NOW();
      UPDATE services s SET s.deleted_at = @d WHERE s.user_id IN (SELECT u.id FROM users u WHERE u.deleted_at IS NOT NULL) AND s.deleted_at IS NULL;

      ```

      ebenso ::::


      ```
      UPDATE users u, services s SET s.deleted_at = NOW() WHERE
      s.user_id = u.id AND
      s.deleted_at IS NULL AND
      u.deleted_at IS NOT NULL
      ORDER BY s.id, u.id
      ```

      ohne erfolg

      Comment

      Working...
      X