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

Azure数据库插入数据失败求助:Azure Data Studio与Node.js均报错

Azure SQL数据库插入数据失败排查方案

问题背景

我是Azure新手,已创建免费账户,通过Azure Data Studio在Azure上创建了数据库Test2及Customer表的所有列,但执行插入语句时出错。同时在Node.js的app.js中能正常连接数据库,但执行插入操作时也报相同错误。

执行的INSERT语句

INSERT INTO [Test2].[dbo].[Customer] (SSQ1,SSQ2,SSQ3,SSQ4,SSQ5,SSQ6,QTSQ1,QTSQ2,QTSQ3,QTSQ4,
DPQ1,DPQ2,DPQ3,DPQ4,DPQ5,DPQ6,DPQ7,DPQ8,DPQ9,DPQ10,user_message,Name,number,email,CustomerBusiness)
 VALUES ('test}','test','test','test','test','test','test','test','test','test'
 ,'test','test','test','test','test','test','test','test','test','test'
 ,'test','test','3','test','test') 

报错信息

  • 错误提示:INSERT 语句与 FOREIGN KEY 约束冲突。冲突发生在数据库 "Test2" 的某关联表指定列中。
  • 核心原因:插入的记录违反了外键约束,外键字段的值在关联表中不存在。

解决步骤

  • 检查外键关联表的数据:找到Customer表中外键约束对应的关联表,确认你要插入的外键字段值已经存在于关联表中,先给关联表插入对应数据后再执行Customer表的插入操作。
  • 核对字段类型与值的匹配性:查看Customer表的设计结构,确保INSERT语句中每个值的类型和表定义一致,比如number字段如果是整数类型,直接传数值3而非字符串'3'。
  • 查看表的约束详情:在Azure Data Studio中右键Customer表→选择“设计”,逐一检查每个字段的约束规则(如外键、非空、数据类型限制)。
  • Node.js中使用参数化查询:避免类型不匹配和SQL注入,以mssql模块为例:
const sql = require('mssql');
async function insertData() {
  try {
    await sql.connect(config);
    const request = new sql.Request();
    request.input('SSQ1', sql.NVarChar, 'test}');
    request.input('number', sql.Int, 3);
    // 依次添加其他参数
    await request.query(`INSERT INTO [Test2].[dbo].[Customer] (...) VALUES (@SSQ1, ..., @number, ...)`);
  } catch (err) {
    console.error(err);
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 03:21:05