首页 > 解决方案 > 为什么我不能将这些值插入到我添加到此数据库的表中?

问题描述

我是 SQL 新手并学习它的基本功能,我被指示创建一个表并将其添加到我的数据库中,然后将适当的值添加到表中的每个字段。但是我一直在该行中收到语法错误:

INSERT into Weather_db.client_data

到目前为止,这是我的代码。让我知道我应该改变什么:

Q1.) 使用 CREATE TABLE 语句,创建一个名为 client_data 的表,其中包含字段

CREATE TABLE Weather_db.client_data (
ID int PRIMARY KEY,
First_name varchar(40) NOT NULL, 
Last_name varchar(40),
Nationality varchar(40), 
Age Float Check (age>18))

Q2.) 使用 INSERT 语句在数据库中插入以下记录

INSERT into Weather_db.client_data 
VALUES ('John', 'S',
'British', 'null'), 
('Peter', 'Jackson', 'null', '20'), 
('Tom', 'W', 'null', '20'), 
('Jack', 'Patrick', 'American', '30');

标签: mysqlsqldatabasemysql-workbench

解决方案


ID int PRIMARY KEY,

此列定义是合法的,但它没有任何自动生成唯一值的行为。因此,您必须自己在 INSERT 语句中提供一个值,并由您确保该值是唯一的,即它尚未用于此表中的任何现有行。

MySQL 为整数主键提供了一个选项来自动生成新的唯一值:

ID int AUTO_INCREMENT PRIMARY KEY,

通过使用它,您不必在 INSERT 语句中指定值。

您可能想阅读此手册页以获取更多信息:https ://dev.mysql.com/doc/refman/8.0/en/example-auto-increment.html


推荐阅读