尝试在phpMyAdmin中执行以下代码时出现以下错误。我正在使用WAMP Server与MySQL版本5.5.8 ::
错误是:
#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 'NUMERIC(6) not null, payee VARCHAR2(20) not null, amount DECIMAL(6,2) no' at line 3
SQL是:
CREATE TABLE checks
(
check NUMERIC(6) not null,
payee VARCHAR2(20) not null,
amount DECIMAL(6,2) not null,
remarks VARCHAR2(20) not null
)
修改
我也在尝试执行此操作,但它也会出错:
CREATE TABLE deposits
(
deposit NUMBER(8),
whopaid VARCHAR(25),
amount DECIMAL(6,2),
remarks VARCHAR(20)
)
答案 0 :(得分:4)
您需要使用反引号转义check
,因为它是reserved word。在MySQL中,没有varchar2
数据类型,只有varchar
。
CREATE TABLE checks
(
`check` NUMERIC(6) not null,
payee VARCHAR(20) not null,
amount DECIMAL(6,2) not null,
remarks VARCHAR(20) not null
)
同样在第二个创建语句中将NUMBER
替换为NUMERIC
。
CREATE TABLE deposits
(
deposit NUMERIC(8),
whopaid VARCHAR(25),
amount DECIMAL(6,2),
remarks VARCHAR(20)
)
答案 1 :(得分:0)
check
是一项保留作品,这就是您遇到此错误的原因
你需要在它周围加上引号
答案 2 :(得分:0)
CHECK是mysql中的保留关键字。如果您选择其他名称,它应该可以正常工作。