无法使用mysql创建表

问题描述 投票:0回答:1

我正在学习Mysql,我正在尝试使用shell创建表,这是我用来创建表的代码:

CREATE TABLE IF NOT EXISTS books(¬
 book_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,¬
 author_id INTEGER UNSIGNED,¬
 title VARCHAR(100) NOT NULL,¬
 year INTEGER UNSIGNED NOT NULL DEFAULT 1900,¬
 language VARCHAR(2) NOT NULL DEFAULT 'es',¬
 cover_url VARCHAR(500),¬
 price DOUBLE(6,2) NOT NULL DEFAULT 10.0,¬
 sellable TINYINT(1) DEFAULT,¬
 description TEXT¬
);¬

这给了我这个错误:

ERROR 1064 (42000): 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 '¬
 book_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,¬
 author_id INTEGER UN' at line 1
mysql mysql-error-1064
1个回答
3
投票

看着倒数第二行,您忘记给sellable设置默认值。

CREATE TABLE IF NOT EXISTS books( 
    book_id INTEGER UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    author_id INTEGER UNSIGNED,
    title VARCHAR(100) NOT NULL,
    year INTEGER UNSIGNED NOT NULL DEFAULT 1900,
    language VARCHAR(2) NOT NULL DEFAULT 'es',
    cover_url VARCHAR(500),
    price DOUBLE(6,2) NOT NULL DEFAULT '10.0',
    sellable TINYINT(1) DEFAULT 1,
    description TEXT NOT NULL);
© www.soinside.com 2019 - 2024. All rights reserved.