I keep getting errors in my code saying:
```# Executing SQL script in server
# ERROR: Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
# INDEX `AuthorID` (`AuthorID` ASC) VISIBLE,
# CONSTRAINT `book_ibfk_1`
# at line 12
CREATE TABLE IF NOT EXISTS `cis395_library`.`book` (
`BookID` INT(11) NOT NULL AUTO_INCREMENT,
`Title` VARCHAR(255) NOT NULL,
`ISBN` VARCHAR(13) NOT NULL,
`PublicationYear` INT(11) NULL DEFAULT NULL,
`CategoryID` INT(11) NULL DEFAULT NULL,
`AuthorID` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`BookID`),
INDEX `CategoryID` (`CategoryID` ASC) VISIBLE,
INDEX `book_ibfk_3` (`AuthorID` ASC) VISIBLE,
CONSTRAINT `book_ibfk_1`
FOREIGN KEY (`CategoryID`)
REFERENCES `cis395_library`.`category` (`CategoryID`),
CONSTRAINT `book_ibfk_2`
FOREIGN KEY (`AuthorID`)
REFERENCES `cis395_library`.`author` (`AuthorID`),
CONSTRAINT `book_ibfk_3`
FOREIGN KEY (`AuthorID`)
REFERENCES `cis395_library`.`author` (`AuthorID`))
ENGINE = InnoDB
AUTO_INCREMENT = 5
DEFAULT CHARACTER SET = utf8mb4
SQL script execution finished: statements: 7 succeeded, 1 failed
Fetching back view definitions in final form.
Nothing to fetch
```-- Create Database
CREATE DATABASE IF NOT EXISTS CIS395_Library;
USE CIS395_Library;
-- Create Tables
CREATE TABLE Category (
CategoryID INT AUTO_INCREMENT,
CategoryName VARCHAR(100) NOT NULL,
PRIMARY KEY (CategoryID)
);
CREATE TABLE Author (
AuthorID INT AUTO_INCREMENT,
FirstName VARCHAR(100) NOT NULL,
LastName VARCHAR(100) NOT NULL,
PRIMARY KEY (AuthorID)
);
CREATE TABLE Book (
BookID INT AUTO_INCREMENT,
Title VARCHAR(255) NOT NULL,
ISBN VARCHAR(13) NOT NULL,
PublicationYear INT,
CategoryID INT,
AuthorID INT,
PRIMARY KEY (BookID),
FOREIGN KEY (CategoryID) REFERENCES Category(CategoryID),
FOREIGN KEY (AuthorID) REFERENCES Author(AuthorID),
CONSTRAINT `book_ibfk_3` FOREIGN KEY (AuthorID) REFERENCES Author(AuthorID)
);
CREATE TABLE Member (
MemberID INT AUTO_INCREMENT,
FirstName VARCHAR(100) NOT NULL,
LastName VARCHAR(100) NOT NULL,
Address VARCHAR(255),
PhoneNumber VARCHAR(15),
Email VARCHAR(100),
PRIMARY KEY (MemberID)
);
CREATE TABLE Loan (
LoanID INT AUTO_INCREMENT,
BookID INT,
MemberID INT,
LoanDate DATE NOT NULL,
ReturnDate DATE,
PRIMARY KEY (LoanID),
FOREIGN KEY (BookID) REFERENCES Book(BookID),
FOREIGN KEY (MemberID) REFERENCES Member(MemberID)
);
-- Insert sample data
INSERT INTO Category (CategoryName) VALUES ('Fiction'), ('Non-Fiction'), ('Science'), ('History');
INSERT INTO Author (FirstName, LastName) VALUES
('J.K.', 'Rowling'),
('Stephenie', 'Meyer'),
('F. Scott', 'Fitzgerald'),
('George', 'Orwell');
INSERT INTO Book (Title, ISBN, PublicationYear, CategoryID, AuthorID)
VALUES
('Harry Potter and the Philosopher's Stone', '9780747532743', 1997, 1, 1),
('Twilight', '9780316015844', 2005, 1, 2),
('The Great Gatsby', '9780743273565', 1925, 1, 3),
('1984', '9780451524935', 1949, 1, 4);
INSERT INTO Member (FirstName, LastName, Address, PhoneNumber, Email)
VALUES
('Alex', 'mac', '123 Banana town', '2222222222', '[email protected]'),
('Jimmy', 'Nu', 'Bannatown', '2222222222', '[email protected]');
INSERT INTO Loan (BookID, MemberID, LoanDate, ReturnDate)
VALUES
(1, 1, '2023-01-01', '2023-01-15'),
(2, 2, '2023-02-01', '2023-02-15'),
(3, 1, '2023-03-01', '2023-03-15'),
(4, 2, '2023-04-01', '2023-04-15');
-- Update operation
UPDATE Book SET Title = 'Harry Potter and the Chamber of Secrets' WHERE BookID = 1;
-- Delete
DELETE FROM Loan WHERE MemberID = 2;
-- Delete
DELETE FROM Member WHERE MemberID = 2;
I tried checking line 12, removed VISIBLE and other stuff. Nothing works and I only have a limited understanding of MYSQL.
New contributor
New guy is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
3