DROP DATABASE IF EXISTS `company_db`;
CREATE DATABASE `company_db`;
USE `company_db`;
CREATE TABLE department(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
department_name VARCHAR (30) NOT NULL;
);
CREATE TABLE roles(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
title VARCHAR (30) NOT NULL,
salary DECIMAL,
department_id INT;
);
CREATE TABLE employee(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
first_name VARCHAR (30) NOT NULL,
last_name VARCHAR (30) NOT NULL,
role_id INT NOT NULL,
manager_id INT;
);
這是我上面的代碼。當我嘗試運行此架構檔案時,出現以下錯誤。
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在第 3 行的 '' 附近使用的正確語法
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在第 1 行的“)”附近使用的正確語法
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以了解在第 5 行的 '' 附近使用的正確語法
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在第 1 行的“)”附近使用的正確語法
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在第 6 行的 '' 附近使用的正確語法
- ERROR 1064 (42000):您的 SQL 語法有錯誤;檢查與您的 MySQL 服務器版本相對應的手冊,以獲取在第 1 行的“)”附近使用的正確語法
他們在說什么?第 1 行中甚至沒有“)”。我對此有什么誤解嗎?提前致謝!
uj5u.com熱心網友回復:
你有大量的;. 這將終止每個陳述句,它不應出現在create:
CREATE TABLE department(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
department_name VARCHAR (30) NOT NULL
);
CREATE TABLE roles(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
title VARCHAR (30) NOT NULL,
salary DECIMAL,
department_id INT
);
CREATE TABLE employee(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
first_name VARCHAR (30) NOT NULL,
last_name VARCHAR (30) NOT NULL,
role_id INT NOT NULL,
manager_id INT
);
uj5u.com熱心網友回復:
在每個 create 陳述句中,您都有“;” 在最后一列之后……這被解釋為導致語法錯誤的 SQL 陳述句的結尾。只需洗掉它們。
uj5u.com熱心網友回復:
行號在每個陳述句中,并且您有額外的分號。所以你的:
CREATE TABLE department(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
department_name VARCHAR (30) NOT NULL;
);
是兩個陳述。首先:
CREATE TABLE department(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
department_name VARCHAR (30) NOT NULL
抱怨第 3 行的 '' 處的語法錯誤(最后,它期望一個,or)并且兩者都沒有)。
第二個:
);
抱怨第 1 行的 ')' 處的語法錯誤(出于顯而易見的原因)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/349046.html
