我一遍又一遍地看着这个,看看我是否可以额外看一眼。我试图运行一个创建表查询,但我似乎无法让它工作。我得到的错误是
#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 '`1`, `id_shop` int(11) NOT NULL DEFAULT `1`, `id_lang` int(10) NOT NULL DEFAUL' at line 4
这里是我试图运行的查询
CREATE TABLE IF NOT EXISTS `PREFIX_quote` (
`id_quote` int(10) NOT NULL AUTO_INCREMENT,
`reference` varchar(9) DEFAULT NULL,
`id_shop_group` int(11) NOT NULL DEFAULT `1`,
`id_shop` int(11) NOT NULL DEFAULT `1`,
`id_lang` int(10) NOT NULL DEFAULT `1`,
`id_customer` int(10) NOT NULL,
`total_discounts` decimal(17,2) NOT NULL DEFAULT `0.00`,
`total_products` decimal(17,2) NOT NULL DEFAULT `0.00`,
`total_product_wt` decimal(17,2) NOT NULL DEFAULT `0.00`,
`total_shipping` decimal(17,2) NOT NULL DEFAULT `0.00`,
`quote_number` int(10) NOT NULL DEFAULT `0`,
`quote_date` datetime NOT NULL,
`valid` int(1) NOT NULL DEFAULT `1`,
`id_employee` int(11) NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
PRIMARY KEY (`id_quote`),
KEY `id_customer` (`id_customer`),
KEY `id_employee` (`id_employee`));
答案 0 :(得分:4)
在整数周围放下反引号。请参阅the fiddle。
CREATE TABLE IF NOT EXISTS `PREFIX_quote` (
`id_quote` int(10) NOT NULL AUTO_INCREMENT,
`reference` varchar(9) DEFAULT NULL,
`id_shop_group` int(11) NOT NULL DEFAULT 1,
`id_shop` int(11) NOT NULL DEFAULT 1,
`id_lang` int(10) NOT NULL DEFAULT 1,
`id_customer` int(10) NOT NULL,
`total_discounts` decimal(17,2) NOT NULL DEFAULT 0.00,
`total_products` decimal(17,2) NOT NULL DEFAULT 0.00,
`total_product_wt` decimal(17,2) NOT NULL DEFAULT 0.00,
`total_shipping` decimal(17,2) NOT NULL DEFAULT 0.00,
`quote_number` int(10) NOT NULL DEFAULT 0,
`quote_date` datetime NOT NULL,
`valid` int(1) NOT NULL DEFAULT 1,
`id_employee` int(11) NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
PRIMARY KEY (`id_quote`),
KEY `id_customer` (`id_customer`),
KEY `id_employee` (`id_employee`));
答案 1 :(得分:4)
反引号(`)用于引用MySQL中的identifiers,因此可以在其中显示保留字或特殊字符。它们通常用于包含您正在执行的列名称,即使它通常是不必要的,但不是值:从默认值中删除反引号:
CREATE TABLE IF NOT EXISTS `PREFIX_quote` (
`id_quote` int(10) NOT NULL AUTO_INCREMENT,
`reference` varchar(9) DEFAULT NULL,
`id_shop_group` int(11) NOT NULL DEFAULT 1,
...
答案 2 :(得分:2)
你的价值在于反叛:`1`
,这是不正确的。这是引号,或者因为它是一个数字,没有引用。
`id_shop_group` int(11) NOT NULL DEFAULT 1,
确保为您的所有字段执行此操作。