sql - 第二个和第三个更新语句实际上并没有更新
问题描述
我尝试更改“;” 以所有不同的顺序和任何其他方式,这不会更新任何列。但是当它像这样时,它只运行第一个语句。PS:如果这很重要,我正在使用 mimir。
这是代码:
ALTER TABLE MODEL
ADD MOD_WAIT_CHG INT(11);
UPDATE MODEL
SET MOD_WAIT_CHG = 100
WHERE MOD_CODE = 'C-90A';
UPDATE MODEL
SET MOD_WAIT_CHG = 75
WHERE MOC_CODE = 'PA23-250';
UPDATE MODEL
SET MOD_WAIT_CHG = 50
WHERE MOC_CODE = 'PA31-350';
解决方案
我认为问题是因为MOC_CODE
您必须输入 MOD_CODE
,而且您不能在数据类型上指定列宽int
。
对于这种情况,最好使用 Transaction 如下:
begin transaction;
ALTER TABLE MODEL ADD MOD_WAIT_CHG INT;
UPDATE MODEL SET MOD_WAIT_CHG = 100 WHERE MOD_CODE = 'C-90A';
UPDATE MODEL SET MOD_WAIT_CHG = 75 WHERE MOD_CODE = 'PA23-250';
UPDATE MODEL SET MOD_WAIT_CHG = 50 WHERE MOD_CODE = 'PA31-350';
commit;
推荐阅读
- html - 在 html 和 javascript 中插入和使用用户上传的图像
- autodesk-forge - 伪造查看器坐标单元并将其映射到 ThreeJS 场景
- angular - 使用 Phantom JS 测试 ng 项目时出错
- laravel - 带有主管的 Laravel 队列工作者
- android-studio - 'ACTION_MEDIA_SCANNER_SCAN_FILE:String' 已弃用
- spring-boot - 为 Google Cloud Run 外部化应用程序配置
- git - Docker npm install 因本地依赖项而失败,但在命令行中工作
- php - Laravel 以特定格式显示日期
- javascript - 打印时div中的图像在页面之间被切断
- php - 将每个操作记录到数据库 Yii2