首页 > 解决方案 > 如果它们连接到一个对象,如何从一个表中删除 id 并从另一表中删除 id?

问题描述

我有这两张表:

表:原因

id | name
---|------------
1  | gold_sell
2  | gold_buy
4  | Silver_sell 

表:REASON_TO_TRANSACTION

reason_id | transaction_type
----------|-------------------
1         | sell
2         | buy
4         | pko

where idfrom tablereasonreason_idfrom链接reason_to_transaction

我想id从这两个表中删除所有 = 1 的行。

有人能帮我吗?

我正在使用 SQL Server(phpmyadmin)。

变量name用于获取当前activeItem并删除它。

我编写了以下 SQL 命令:

DELETE rt 
  FROM reason_to_transaction rt 
  INNER JOIN reasons r 
    ON id=reason_id 
  WHERE reasons.id=reason_to_transaction.reason_id 
    AND name = 'gold_sell'

我也有这个角度代码:

$scope.deleteItem = function(){
        console.log($scope.activeItem);
        var objectToSave = {        
            name: $scope.activeItem.name,
            id: $scope.activeItem.id
        };

        if($scope.activeItem.id){


                defaultAdapter.query('DELETE rt FROM reason_to_transaction rt INNER JOIN reasons r ON r.id = tr.reason_id WHERE name = :name',
              { replacements: objectToSave, type: Sequelize.QueryTypes.UPDATE }
            ).then(projects => {
              console.log(projects);
              $scope.editMode = false;
                $scope.activeItem = false;
                $scope.refresh();
            });
        } else {         
                defaultAdapter.query('DELETE rt FROM reason_to_transaction rt INNER JOIN reasons r ON r.id = tr.reason_id WHERE name = :name',

              { replacements: objectToSave, type: Sequelize.QueryTypes.UPDATE }
            ).then(projects => {
              console.log(projects);
              $scope.editMode = false;
                $scope.activeItem = false;
                $scope.refresh();
            });

        }
    };

并且还有 html 提交表单:

<div class="editMode1" style="display: none;">
<div class="form">
<form ng-submit="saveItem(reasonsForm.$valid)" name="reasonsForm">
<div class="row">
        <div class="col-sm-6">
            <div class="form-group">
                <label for="currency_code">Име на основание</label>
                <input type="text" class="form-control" required ng-model="activeItem.name" placeholder="Име на основание за редактиране" />
            </div>



        </div>
    </div>
    <button class="btn btn-primary" ng-disabled="reasonsForm.$invalid" type="submit">Save</button>
    <button class="btn btn-primary" type="submit" ng-click="deleteItem()">Delete</button> <!--ng-click="createUser()"-->

    <button class="btn btn-primary" id="cnlbtn" type="button">Cancel</button>


</form>
</div>
</div>

标签: mysqlsqlsql-delete

解决方案


推荐阅读