2012-09-28 2 views
0

phpMyAdmin에서 다음 코드를 실행하려고하면 다음 오류가 발생합니다. 내가 MySQL 버전과 WAMP 서버를 사용하고 5.5.8 :phpMyAdmin에서 SQL 예약어 구문 오류가 발생했습니다.

오류 :

#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

'VARCHAR2'을 (를) 'VARCHAR'로 바꿉니다. Oracle에서는 사용할 수 있지만 MySql에서는 사용할 수 없습니다. – Lion

+0

답변과 의견을 보내 주셔서 감사합니다. 나는 오류를주는 다른 SQL로 내 게시물을 편집했습니다. 너희들이 나를 도울 수 있니? 나는 그것이 예약 된 키워드가 없다고 생각하고 작동해야하지만 그렇지 않다. –

+0

업데이트에서, NUMBER 데이터 유형은 MySql에서 사용할 수 없다. – Lion

답변

4

check은 이므로 백틱으로 이스케이프 처리해야합니다. 그리고 MySQL에는 varchar이라는 varchar2 데이터 유형이 없습니다.

CREATE TABLE checks 
(
    `check`  NUMERIC(6) not null, 
    payee  VARCHAR(20) not null, 
    amount  DECIMAL(6,2) not null, 
    remarks  VARCHAR(20) not null 
) 

또한 당신의 두번째 만들 성명에서 NUMERICNUMBER를 교체합니다.

CREATE TABLE deposits 
(
    deposit  NUMERIC(8), 
    whopaid  VARCHAR(25), 
    amount  DECIMAL(6,2), 
    remarks  VARCHAR(20) 
) 

SQLFiddle example

관련 문제