2

I am getting this error when I try to run this MySQL command:

CREATE TABLE READERWARE(TITLE VARCHAR_IGNORECASE NOT NULL,
AUTHOR VARCHAR_IGNORECASE NOT NULL,
ISBN CHAR,
PUBLISHER VARCHAR_IGNORECASE,
BOOKFORMAT CHAR,
FIRST CHAR,
SIGNED CHAR,
PUBDATE VARCHAR_IGNORECASE,
PUBPLACE VARCHAR_IGNORECASE,
COPIES CHAR,
RATING INTEGER,
CONDITION INTEGER,
CATEGORY INTEGER,
READ CHAR,
PRINT CHAR,
HTMLEXPORT CHAR,
VALUE CHAR,
COMMENTS VARCHAR_IGNORECASE,
DATEENTERED DATE NOT NULL,
SOURCE CHAR,
ROWKEY BIGINT NOT NULL,
RETIRED1 CHAR,
CART CHAR,
ORDERED CHAR,
LCCN VARCHAR_IGNORECASE,
DEWEY VARCHAR_IGNORECASE,
USERNUMBER VARCHAR_IGNORECASE,
COPYRIGHTDATE VARCHAR_IGNORECASE,
VALUEDATE VARCHAR_IGNORECASE,
LOCATION INTEGER,
SERIES INTEGER,
PAGES INTEGER,
KEYWORDS VARCHAR_IGNORECASE,
DIMENSIONS VARCHAR_IGNORECASE,
USER1 VARCHAR_IGNORECASE,
USER2 VARCHAR_IGNORECASE,
USER3 VARCHAR_IGNORECASE,
USER4 VARCHAR_IGNORECASE,
USER5 VARCHAR_IGNORECASE,
USER6 VARCHAR_IGNORECASE,
USER7 VARCHAR_IGNORECASE,
USER8 VARCHAR_IGNORECASE,
USER9 VARCHAR_IGNORECASE,
USER10 VARCHAR_IGNORECASE,
FILLER1 VARCHAR_IGNORECASE,
FILLER2 VARCHAR_IGNORECASE,
FILLER3 VARCHAR_IGNORECASE,
FILLER4 VARCHAR_IGNORECASE,
FILLER5 VARCHAR_IGNORECASE,
FILLER6 VARCHAR_IGNORECASE,
FILLER7 VARCHAR_IGNORECASE,
FILLER8 VARCHAR_IGNORECASE,
FILLER9 VARCHAR_IGNORECASE,
FILLER10 VARCHAR_IGNORECASE,
AUTHOR2 VARCHAR_IGNORECASE,
AUTHOR3 VARCHAR_IGNORECASE,
AUTHOR4 VARCHAR_IGNORECASE,
AUTHOR5 VARCHAR_IGNORECASE,
AUTHOR6 VARCHAR_IGNORECASE)


Error Code : 1064
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 'VARCHAR_IGNORECASE NOT NULL,AUTHOR VARCHAR_IGNORECASE NOT NULL,ISBN CHAR,PUBLISH' at line 1

I'm not sure what the problem is. Any help would be greatly appreciated. Thanks.

1
  • Please, read up on SQL database normalization. It's good stuff. Also, you need a primary key for the table. Also, don't upper-case your column names. Also, MySQL has types other than VARCHAR and INTEGER - like, for instance, a DATE. Which your COPYRIGHTDATE should be. Commented Aug 20, 2010 at 15:05

2 Answers 2

8

Err, I think the problem is that MySQL doesn't actually have a VARCHAR_IGNORECASE type.

HSQL from OpenOffice has it but I've not seen it used elsewhere.

Sign up to request clarification or add additional context in comments.

Comments

4

VARCHAR_IGNORECASE is not a valid datatype in MySQL.

If you want case-insensitive text fields with arbitrary length, replace these types with TEXT COLLATE UTF8_GENERAL_CI

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.