2014-03-25 35 views
2

我使用Spring Data做了這個。我無法弄清楚這個sql語句有什麼問題。這個查詢是由Spring數據自動生成的。 它說。mysql彈簧數據錯誤(QUERY)

#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 'database bit not null, designation 
varchar(255), equipment varchar(255), hardwar' at line 1 

我的查詢:

create table joborder (id bigint not null auto_increment, 
         barPrinter bit not null, 
         birPermit bit not null, 
         cabling bit not null, 
         cashDrawer bit not null, 
         cashierPrinter bit not null, 
         ccccods bit not null, 
         configuration bit not null, 
         cpu bit not null, 
         database bit not null, 
         designation varchar(255), 
         equipment varchar(255), 
         hardwareActionTaken varchar(255), 
         hardwareOthers bit not null, 
         hardwareRemarks varchar(255), 
         invoiceNumber varchar(255), 
         keyboard bit not null, 
         kitchenPrinter bit not null, 
         logNumber varchar(255), 
         magneticCardReader bit not null, 
         mallInterface bit not null, 
         menu bit not null, 
         monitor bit not null, 
         mouse bit not null, 
         operatingSystem bit not null, 
         othersActionTaken varchar(255), 
         othersOthers bit not null, 
         othersRemarks varchar(255), 
         powerSupply bit not null, 
         reportProblemTask varchar(255), 
         scanner bit not null, 
         softwareActionTaken varchar(255), 
         softwareOthers bit not null, 
         softwareRemarks varchar(255), 
         storeLocation varchar(255), 
         storeRepresentative varchar(255), 
         technician varchar(255), 
         timeIn varchar(255), 
         timeOut varchar(255), 
         transightECLM bit not null, 
         transightHQ bit not null, 
         transightPOS bit not null, 
         uat bit not null, 
         store_id bigint, 
      primary key (id)) 
+1

嘗試改變數據庫列名到別的東西可能是 –

+0

確定。會做到這一點。不適當更新你,如果它工作 – james

回答

3

使用此查詢

CREATE TABLE `joborder` (
    `id` BIGINT(20) NOT NULL AUTO_INCREMENT, 
    `barPrinter` BIT(1) NOT NULL, 
    `birPermit` BIT(1) NOT NULL, 
    `cabling` BIT(1) NOT NULL, 
    `cashDrawer` BIT(1) NOT NULL, 
    `cashierPrinter` BIT(1) NOT NULL, 
    `ccccods` BIT(1) NOT NULL, 
    `configuration` BIT(1) NOT NULL, 
    `cpu` BIT(1) NOT NULL, 
    `database` BIT NOT NULL, 
    `designation` VARCHAR(255) DEFAULT NULL, 
    `equipment` VARCHAR(255) DEFAULT NULL, 
    `hardwareActionTaken` VARCHAR(255) DEFAULT NULL, 
    `hardwareOthers` BIT(1) NOT NULL, 
    `hardwareRemarks` VARCHAR(255) DEFAULT NULL, 
    `invoiceNumber` VARCHAR(255) DEFAULT NULL, 
    `keyboard` BIT(1) NOT NULL, 
    `kitchenPrinter` BIT(1) NOT NULL, 
    `logNumber` VARCHAR(255) DEFAULT NULL, 
    `magneticCardReader` BIT(1) NOT NULL, 
    `mallInterface` BIT(1) NOT NULL, 
    `menu` BIT(1) NOT NULL, 
    `monitor` BIT(1) NOT NULL, 
    `mouse` BIT(1) NOT NULL, 
    `operatingSystem` BIT(1) NOT NULL, 
    `othersActionTaken` VARCHAR(255) DEFAULT NULL, 
    `othersOthers` BIT(1) NOT NULL, 
    `othersRemarks` VARCHAR(255) DEFAULT NULL, 
    `powerSupply` BIT(1) NOT NULL, 
    `reportProblemTask` VARCHAR(255) DEFAULT NULL, 
    `scanner` BIT(1) NOT NULL, 
    `softwareActionTaken` VARCHAR(255) DEFAULT NULL, 
    `softwareOthers` BIT(1) NOT NULL, 
    `softwareRemarks` VARCHAR(255) DEFAULT NULL, 
    `storeLocation` VARCHAR(255) DEFAULT NULL, 
    `storeRepresentative` VARCHAR(255) DEFAULT NULL, 
    `technician` VARCHAR(255) DEFAULT NULL, 
    `timeIn` VARCHAR(255) DEFAULT NULL, 
    `timeOut` VARCHAR(255) DEFAULT NULL, 
    `transightECLM` BIT(1) NOT NULL, 
    `transightHQ` BIT(1) NOT NULL, 
    `transightPOS` BIT(1) NOT NULL, 
    `uat` BIT(1) NOT NULL, 
    `store_id` BIGINT(20) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=INNODB DEFAULT CHARSET=latin1; 
+0

我需要解釋爲什麼它不工作。 – james

+2

你已經使用「DATABASE」這個詞作爲列名,所以我已經對所有列名應用了後面的勾號(') – PravinS

2

數據庫是一個保留關鍵字

你必須使用這樣Databse

試試這個

create table joborder (id bigint not null auto_increment, 
         barPrinter bit not null, 
         birPermit bit not null, 
         cabling bit not null, 
         cashDrawer bit not null, 
         cashierPrinter bit not null, 
         ccccods bit not null, 
         configuration bit not null, 
         cpu bit not null, 
         `database` bit not null, 
         designation varchar(255), 
         equipment varchar(255), 
         hardwareActionTaken varchar(255), 
         hardwareOthers bit not null, 
         hardwareRemarks varchar(255), 
         invoiceNumber varchar(255), 
         keyboard bit not null, 
         kitchenPrinter bit not null, 
         logNumber varchar(255), 
         magneticCardReader bit not null, 
         mallInterface bit not null, 
         menu bit not null, 
         monitor bit not null, 
         mouse bit not null, 
         operatingSystem bit not null, 
         othersActionTaken varchar(255), 
         othersOthers bit not null, 
         othersRemarks varchar(255), 
         powerSupply bit not null, 
         reportProblemTask varchar(255), 
         scanner bit not null, 
         softwareActionTaken varchar(255), 
         softwareOthers bit not null, 
         softwareRemarks varchar(255), 
         storeLocation varchar(255), 
         storeRepresentative varchar(255), 
         technician varchar(255), 
         timeIn varchar(255), 
         timeOut varchar(255), 
         transightECLM bit not null, 
         transightHQ bit not null, 
         transightPOS bit not null, 
         uat bit not null, 
         store_id bigint, 
      primary key (id)) 
1

你應該試試這個:和檢查這個http://sqlfiddle.com/#!2/4817b

CREATE TABLE joborder 
(
    id BIGINT(20) NOT NULL AUTO_INCREMENT, 
    barPrinter BIT(1) NOT NULL, 
    birPermit BIT(1) NOT NULL, 
    cabling BIT(1) NOT NULL, 
    cashDrawer BIT(1) NOT NULL, 
    cashierPrinter BIT(1) NOT NULL, 
    ccccods BIT(1) NOT NULL, 
    configuration BIT(1) NOT NULL, 
    cpu BIT(1) NOT NULL, 
    `database` BIT NOT NULL, 
    designation VARCHAR(255) DEFAULT NULL, 
    equipment VARCHAR(255) DEFAULT NULL, 
    hardwareActionTaken VARCHAR(255) DEFAULT NULL, 
    hardwareOthers BIT(1) NOT NULL, 
    hardwareRemarks VARCHAR(255) DEFAULT NULL, 
    invoiceNumber VARCHAR(255) DEFAULT NULL, 
    keyboard BIT(1) NOT NULL, 
    kitchenPrinter BIT(1) NOT NULL, 
    logNumber VARCHAR(255) DEFAULT NULL, 
    magneticCardReader BIT(1) NOT NULL, 
    mallInterface BIT(1) NOT NULL, 
    menu BIT(1) NOT NULL, 
    monitor BIT(1) NOT NULL, 
    mouse BIT(1) NOT NULL, 
    operatingSystem BIT(1) NOT NULL, 
    othersActionTaken VARCHAR(255) DEFAULT NULL, 
    othersOthers BIT(1) NOT NULL, 
    othersRemarks VARCHAR(255) DEFAULT NULL, 
    powerSupply BIT(1) NOT NULL, 
    reportProblemTask VARCHAR(255) DEFAULT NULL, 
    scanner BIT(1) NOT NULL, 
    softwareActionTaken VARCHAR(255) DEFAULT NULL, 
    softwareOthers BIT(1) NOT NULL, 
    softwareRemarks VARCHAR(255) DEFAULT NULL, 
    storeLocation VARCHAR(255) DEFAULT NULL, 
    storeRepresentative VARCHAR(255) DEFAULT NULL, 
    technician VARCHAR(255) DEFAULT NULL, 
    timeIn VARCHAR(255) DEFAULT NULL, 
    timeOut VARCHAR(255) DEFAULT NULL, 
    transightECLM BIT(1) NOT NULL, 
    transightHQ BIT(1) NOT NULL, 
    transightPOS BIT(1) NOT NULL, 
    uat BIT(1) NOT NULL, 
    store_id BIGINT(20) DEFAULT NULL, 
    PRIMARY KEY (`id`) 
) 
ENGINE=INNODB DEFAULT CHARSET=latin1;