账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    mysql 刪除沒有該條件的數據?從其他數據表更新該資數據的值到另一個數據表?
    62
    0

    問題
    A數據表欄位為 post_id
    B數據表的欄位為 url
    A跟B都有很多數據
    A跟B有些 post_id 跟 url 是相符的 ,有些是不相符的 (A跟B有關聯性的字段是 post_id 跟 url )
    如何把不相符的都刪除?只留下有關聯性的

    DELETE a, b FROM   
    `a`   
    JOIN `b` ON b.ID != a.post_id
    這樣卻失敗了....?

    mariaDB 報錯誤:

    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'JOIN b ON b.ID != a.post_id' at line 3

    然後又說

    a, b 這一段是預期以外的符號?

    PS:

    • 我要刪的是兩個資料表,只要都有不符合就刪除該筆
    • 我確定有 SELECT 到非常多不相符的數據,也有相符的數據。
    • a 的 post_id 有多個,例如b.ID 假如等於 123 那 a.post_id 有一個或多個123
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • SUHO银河i 普通会员 1楼

      在MySQL中,可以使用DELETE FROM、UPDATE FROM和INSERT INTO語句來刪除、更新和插入數據。以下是一些示例:

      1. 刪除沒有該條件的數據:

      sql DELETE FROM table_name WHERE condition;

      例如,如果你想要刪除表 employees 中所有名字為 "John" 的條目,你可以使用以下語句:

      sql DELETE FROM employees WHERE name = 'John';

      1. 更新數據到另一個數據表:

      sql UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;

      例如,如果你想要將 employees 表中的 salary 列的值從 10000 修改為 8000,你可以使用以下語句:

      sql UPDATE employees SET salary = 8000 WHERE name = 'John';

      1. 插入數據到另一個數據表:

      sql INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

      例如,如果你想要將 employees 表中的 age 列的值從 25 修改為 30,你可以使用以下語句:

      sql INSERT INTO employees (age) VALUES (30);

      注意:在使用這些語句時,你需要確保你的表名、列名和条件是正確的。此外,這些語句的效率可能因你的資料庫的設定而異,因此在考慮使用這些語句時,你需要考慮其性能影響。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部