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

如何在SQL的int类型字段中用null值替代缺失的整数数据

实现int类型列存储NULL值的操作方法

你当前写法的问题是将null用单引号包裹,此时它会被识别为字符串类型,无法匹配int类型列的类型要求,会触发类型不匹配报错。具体操作方案如下:

  • 第一步:确认对应int列允许空值
    建表时如果没有给列添加NOT NULL约束,默认就是支持存储NULL值的。如果之前建表时加了NOT NULL约束,可以先执行修改列的语句调整属性:
    ALTER TABLE EmployeeSalary 
    MODIFY COLUMN YearsOfService INT NULL,
    MODIFY COLUMN Salary INT NULL;
    
  • 第二步:插入数据时直接写NULL,不要加任何引号
    修正后的插入语句如下:
    INSERT INTO EmployeeSalary VALUES
    (101, 'Manager', 20, 80000),
    (102, 'Desk Clerk', 5, 30000),
    (103, 'Maintanence', 10, 60000),
    (104, 'Sales', NULL, NULL),
    (105, 'Operations Manager', NULL, NULL);
    
  • 如果是已有数据的表需要将部分行的int值替换为NULL,直接使用UPDATE语句即可
    示例:将员工ID为104的工龄字段设置为NULL
    UPDATE EmployeeSalary SET YearsOfService = NULL WHERE EmployeeID = 104;
    

补充说明:NULL是SQL中专门用来标记空值的特殊标识符,不属于字符串、数值等任何常规数据类型,因此给任意类型的字段赋值为空时,都直接写NULL即可,不需要加引号包裹。

内容的提问来源于stack exchange,提问作者Steve Wong

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:54:05