You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行SQL脚本报1241错误 代码问题排查与原因分析

MySQL 1241报错排查与修复

报错根因

MySQL抛出1241错误的含义是操作数仅允许包含1列,你的代码问题出在INSERT语句的传值写法:

  • 表结构中MOYEN_RENT字段定义为DECIMAL(5,2)类型,属于单值数值字段,仅需传入一个符合精度要求的数值即可
  • 你在VALUES子句中给该字段传入了(300, 45),这是MySQL的行构造语法,代表一组包含多列的元组,相当于给单值字段传入了2个值,语法匹配失败就会触发报错。

修复方案

去掉单值字段外多余的括号,将传入的元组改为单个合法数值即可。如果你的预期是给MOYEN_RENT存入300.45,修正后的完整SQL如下:

CREATE TABLE MOROCCO
( 
    NUM_PER_MANAGE INT , 
    MOYEN_RENT DECIMAL (5,2), 
    GENDER enum ('m','f'), 
    race varchar (205)
);

INSERT INTO morocco (NUM_PER_MANAGE, MOYEN_RENT, GENDER, race) 
VALUES (3, 300.45, 'm', 'black'); 

补充说明

带括号的逗号分隔写法仅用于两种合法场景:

  • 包裹INSERT语句中一整行的所有字段值
  • 多行插入时,分隔每一行的整组值,例如VALUES (1, 120.5, 'f', 'white'), (3, 300.45, 'm', 'black')
    单个字段赋值时,不要随意给值加圆括号、写入多个逗号分隔内容。

内容的提问来源于stack exchange,提问作者Brahim Naitdaoud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 10:57:26