mysql - 将 JSON customers_contacts 添加到客户表中
问题描述
使用您在模块 1 中安装的 classicmodels 数据库和 MySQL 工作台,使用以下键将名为“customers_contacts”的 JSON 字段添加到客户表:
customerNumber、contactLastName 和 contactFirstName。编写一条 SQL 语句,为“customers_contacts”字段插入至少三个值。使用客户表中的数据。
INSERT INTO customers(customers_contacts)
Values(
'{"customerNumber" : 103, "customerLastName" : "Schmitt", "customerFirstName" : "Carine"}'
);
所以我使用 ALTER TABLE customers ADD COLUMN customers_contacts json; - 用于创建列。
但是当我去添加以下值时:
INSERT INTO customers(customers_contacts)
Values(
'{"customerNumber" : 103, "customerLastName" : "Schmitt", "customerFirstName" : "Carine"}'
);
我收到错误代码 1364:字段 'customerNumber' 没有默认值。
我正在使用 mysql 5.7 和 mysql 工作台。一个
任何帮助,将不胜感激。谢谢!
解决方案
实际上,当您在“customers_contacts”中插入新的 json 值时,您处理字段的问题是“customerNumber”,“customerNumber”没有默认值。更改表格并为客户编号设置默认值,如“0000000000”。保存更改并插入 json 值。例如:你正在尝试做的是这个
PK |客户编号 |customers_contacts |
1 1234567890 {“一些”:“json值”}
- 2 空{“一些”:“jsonvalue”}
由于您的 CustomerNumber 字段不能为 null,您必须设置默认值或删除 not null
推荐阅读
- node.js - [Nodejs - worker-threads]:主线程是否可以选择等待所有工作线程完成?
- macos - 带有 COUNT 查询的 Cassandra 超时
- android - 在android中制作响应式视图
- google-cloud-platform - Deployment Manager 模板是否支持 Python 3?
- python - Python:强制导入更喜欢 .py 而不是 .so
- docker - 托管 Node-RED 并运行“不受信任”的流
- android - 我需要结合使用 lambda 函数和列表理解
- python - 为图例的 Line2D 元素中的标记添加错误栏
- php - 无法在 docker php 7.3.5 中启用 php-ast
- neo4j - Neo4jRule :在 Neo4j 测试服务器中包含算法插件(例如 randomWalk)