我是 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');
uj5u.com熱心網友回復:
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
uj5u.com熱心網友回復:
您的陳述句有一些語法問題。
首先,您沒有為所有定義的列提供值。
這也是很好的做法,始終明確列出在INSERT陳述句中的列。
您不應參考數值或空值。
您可能應該將 ID 定義為auto_increment,這意味著資料庫將提供默認值。
查看一個作業示例
CREATE TABLE client_data (
ID int PRIMARY key auto_increment,
First_name varchar(40) NOT NULL,
Last_name varchar(40),
Nationality varchar(40),
Age Float Check (age>18));
INSERT into client_data (first_name, last_name, Nationality, Age)
VALUES ('John', 'S','British', null),
('Peter', 'Jackson', null, 20),
('Tom', 'W', null, 20),
('Jack', 'Patrick', 'American', 30);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/344747.html
上一篇:根據另一個表的值更新一個表的列值
