Skip to content

数据新增

Update Param DTS

ts
type IAnyObject = Record<string, any>

/**
 * 表参数配置
 */
export interface TableConfig {
  /**
   * 表名
   */
  name: string
  /**
   * 表别名
   */
  alias?: string
}

export type TABLE_TYPE = string | TableConfig

/**
 * 数据变更基础参数
 */
export interface BaseChangeParam {
  /**
   * 表名
   */
  t: TABLE_TYPE
}

export type CONDITION_TYPE = Record<string, VALUE_TYPE | ConditionOption>

/**
 * 值类型
 */
export type VALUE_TYPE =
  | string
  | number
  | Date
  | boolean
  | undefined
  | null
  | Array<any>

/**
 * 查询条件配置项
 */
export interface ConditionOption {
  /**
   * 匹配值
   */
  value?: VALUE_TYPE
  /**
   * 等式类型
   */
  type?: CONDITION_EQUATION_TYPE
  /**
   * 是否为或语句
   */
  or?: boolean
  /**
   * 表名或表别名
   */
  t?: string
  /**
   * 子查询
   */
  subquery?: QueryOption
}

/**
 * 数据更新参数
 */
export interface UpdateParam extends BaseChangeParam {
  /**
   * 更新数据
   */
  params: IAnyObject
  /**
   * 更新条件
   */
  condition: CONDITION_TYPE
}

Example

注意事项

更新数据前确保数据表结构已经存在。否者执行会抛出 '[table name]' doesn't exist 异常。

ts
import emysql from '@dpapejs/emysql'

// 数据库实例化
const mysql = new emysql({
  password: '[db登录密码]',
  user: '[db登录用户名]',
  database: '访问数据库名称'
})

mysql.change
  .update({
    t: 't_user',
    params: {
      name: '张三_UPDATE',
      age: 18,
      update_at: new Date()
    },
    condition: { id: 1 }
  })
  .then(() => {
    // 更新数据成功
  })
  .catch((err) => {
    // 更新数据失败
    console.error('[ERROR]::', err)
  })