I’m attempting to initialize a table called, "character", in a MySQL server database, and I am getting the SQL syntax error provided below:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'character ( character_id INT PRIMARY KEY, first_name VARCHAR(20) NOT NUL' at line 1
My SQL code is as follows:
CREATE TABLE character (
character_id INT PRIMARY KEY,
first_name VARCHAR(20) NOT NULL,
last_name VARCHAR(20) NOT NULL,
branch VARCHAR(40) NOT NULL,
game_wins INT(5) DEFAULT 'N/A',
game_losses INT(5) DEFAULT 'N/A',
match_wins INT(6) DEFAULT 'N/A',
match_ties INT(6) DEFAULT 'N/A',
match_losses INT(6) DEFAULT 'N/A',
match_no INT(6) DEFAULT 'N/A'
);
I must be missing a syntax error that is straightforward but I’ve looked over this code block several times and I cannot seem to pinpoint the issue.
2
Answers
First of all character is a reserved word witch makes us use “ to denominate it.
About default value, you cannot set a string "’N/A’" into a INT type.
Instead I suggest you to use null columns for every INT (in your case) and by default they will be NULL.
Try it
Let me know if it worked for you
You are assigning strings (‘N/A’) to INT types. You can use NULL as the default and check for NULL to see if the value has been set. If there’s a better integer value to indicate an invalid value for your situation, you can use that instead of NULL