<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## MySQL多表同時刪除方案 MySQL可以在一個SQL語句中刪除多張表的記錄,也可以通過多個表之間的關聯關系刪除某個表的數據,在MySQL4.0版本之后MySQL支持多表刪除。 假定目前有兩張表`goods`和`goods_price`表,前者是保存商品的具體信息,后者是保存商品的價格,具體的表結構如下: ``` create table goods ( `id` int unsigned primary key auto_increment, `goods_name` varchar(30) not null default '' )engine innodb charset utf8; create table goods_price ( `goods_id` int unsigned not null, `price` decimal(8,2) not null default '0.00' )engine innodb charset utf8; insert into goods values (1,'商品1'),(2,'商品2'),(3,'商品3'),(4,'商品4'),(5,'商品5'); insert into goods_price values (1,'5.44'),(2,'3.22'),(3,'5.55'),(4,'0.00'),(5,'4.54'); ``` ### 在delete時使用逗號分割刪除 這里我們不適用join連接操作進行刪除,具體SQL如下: ``` delete g.*,p.* from goods as g,goods_price as p where g.id = p.goods_id and g.id = 1; ``` ### 使用連表查詢 #### 使用inner join刪除 使用`inner join`在連接時指定表與表之間的關聯關系進行刪除,具體SQL如下: ``` DELETE g.*,p.* FROM goods as g INNER JOIN goods_price as p ON g.id=p.goods_id WHERE g.id = 2; ``` > 使用連接刪除的時候不必刪除所有表數據,上面的SQL語句會同時刪除`goods`和`goods_price`兩張表中的數據,但是可以指定`DELETE g.*`從而只刪除`goods`表中的記錄,而不刪除`goods_price`表中的記錄[`DELETE g.* FROM goods as g INNER JOIN goods_price as p ON g.id=p.goods_id WHERE g.id = 3;`],但是在這里明顯是不合適的,但是我們可以這樣做。 ### 使用left join刪除 left join的使用方法如上,具體的SQL如下: ``` DELETE g.*,p.* FROM goods as g LEFT JOIN goods_price as p ON g.id=p.goods_id WHERE g.price = '0.00'; ``` ### 使用外鍵約束 給表新增約束外鍵并使用級聯(cascade)方式對表與表之間關系進行約束。具體的SQL如下: ``` alter table goods_price add constraint FK_goods_id foreign key(goods_id) references goods(id) on delete cascade on update cascade; ``` 修改完后我們后期刪除主表數據,關聯表數據也會被刪除。 ``` delete from goods where id=5; ``` 相關推薦:[MySQL中InnoDB表引擎外鍵約束 ](http://blog.webfsd.com/post_mysql-zhonginnodb-biao-yin-qing-wai-jian-yue-shu.html)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看