我正在尝试为MySQL数据库创建表,但是我有一些句法问题。由于某种原因,在表之间的语法检查似乎有所不同。尽管我得到了所有其他表格,但桌子,"库存"似乎不起作用,尽管似乎使用了相同的语法模式。
CREATE TABLE users (
user_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(30) NOT NULL,
password CHAR(41) NOT NULL,
date_joined DATETIME NOT NULL,
funds DOUBLE UNSIGNED NOT NULL,
PRIMARY KEY(user_id),
UNIQUE KEY(username)
);
CREATE TABLE owned_stocks (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
user_id SMALLINT UNSIGNED NOT NULL,
paid_price DOUBLE UNSIGNED NOT NULL,
quantity MEDIUMINT UNSIGNED NOT NULL,
purchase_date DATETIME NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE tracking_stocks (
ticker VARCHAR(5) NOT NULL,
user_id SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY(ticker)
);
CREATE TABLE stocks (
ticker VARCHAR(5) NOT NULL,
last DOUBLE UNSIGNED NOT NULL,
high DOUBLE UNSIGNED NOT NULL,
low DOUBLE UNSIGNED NOT NULL,
company_name VARCHAR(30) NOT NULL,
last_updated INT UNSIGNED NOT NULL,
change DOUBLE NOT NULL,
percent_change DOUBLE NOT NULL,
PRIMARY KEY(ticker)
);
我只是错过了一个非常明显的句法问题吗?
错误:
#1064
-您的SQL语法中有一个错误;检查手册 对应于您的MySQL Server版本,以供正确的语法使用 接近'更改double double not null,百分比change double double not null,最后
双'在第4行
"股票"字段名称'更改'是保留的mysql单词。尝试用其他字段名称替换它?
供参考:http://dev.mysql.com/doc/refman/5.5/en/resverd-words.html
因为更改是一个保留的单词,请使用Backtick
逃脱它`change` DOUBLE NOT NULL,
mysql保留字列