mysql 字段名 减号_MySQL表字段名不能包含减号

本文介绍了在MySQL中遇到由于字段名包含减号导致的SQL语法错误问题,分享了解决方案——修改表字段名,以避免特殊字符引起的语法问题。
摘要由CSDN通过智能技术生成

往MySQL数据中插入数据时,一直提示SQL语法有错误(syntax error),检查了半天,原来是因为表名包含了减号。

原来的表结构:

CREATE TABLE IF NOT EXISTS `amazon-sellertransactions` (

`record-insert-time` timestamp NOT NULL DEFAULT CURRENT-TIMESTAMP ON UPDATE CURRENT-TIMESTAMP,

`record-id` int(10) unsigned NOT NULL AUTO-INCREMENT,

`amazon-order-id` varchar(30) DEFAULT NULL,

`merchant-id` varchar(30) DEFAULT NULL,

`purchase-date` datetime DEFAULT NULL,

`last-update-date` datetime DEFAULT NULL,

`order-status` varchar(50) DEFAULT NULL,

`fulfillment-channel` varchar(20) DEFAULT NULL,

`sales-channel` varchar(50) DEFAULT NULL,

`shipments-service-level` varchar(50) DEFAULT NULL,

`order-total` varchar(30) DEFAULT NULL,

`buyer-name` varchar(50) DEFAULT NULL,

`buyer-email` varchar(60) DEFAULT NULL,

`number-items-shipped` varchar(10) DEFAULT NULL,

`number-items-unshipped` varchar(10) DEFAULT NULL,

`ship-city` varchar(50) DEFAULT NULL,

`ship-state` varchar(50) DEFAULT NULL,

`ship-postal-code` varchar(50) DEFAULT NULL,

`ship-country` varchar(50) DEFAULT NULL,

`ship-name` varchar(50) DEFAULT NULL,

`ship-phone` varchar(30) DEFAULT NULL,

`ship-address-line1` varchar(120) DEFAULT NULL,

`payment-method` varchar(30) DEFAULT NULL,

PRIMARY KEY (`Record`),

UNIQUE KEY `amazon-order-id` (`amazon-order-id`)

)ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

这段SQL代码创建表是没有问题,但是在相关操作中却报语法错误,加上引号也不行,所以,只能修改表字段名,修改后的SQL代码如下:

CREATE TABLE IF NOT EXISTS `amazon_sellertransactions` (

`record_insert_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`record_id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`amazon_order_id` varchar(30) DEFAULT NULL,

`merchant_id` varchar(30) DEFAULT NULL,

`purchase_date` datetime DEFAULT NULL,

`last_update_date` datetime DEFAULT NULL,

`order_status` varchar(50) DEFAULT NULL,

`fulfillment_channel` varchar(20) DEFAULT NULL,

`sales_channel` varchar(50) DEFAULT NULL,

`shipments_service_level` varchar(50) DEFAULT NULL,

`order_total` varchar(30) DEFAULT NULL,

`buyer_name` varchar(50) DEFAULT NULL,

`buyer_email` varchar(60) DEFAULT NULL,

`number_items_shipped` varchar(10) DEFAULT NULL,

`number_items_unshipped` varchar(10) DEFAULT NULL,

`ship_city` varchar(50) DEFAULT NULL,

`ship_state` varchar(50) DEFAULT NULL,

`ship_postal_code` varchar(50) DEFAULT NULL,

`ship_country` varchar(50) DEFAULT NULL,

`ship_name` varchar(50) DEFAULT NULL,

`ship_phone` varchar(30) DEFAULT NULL,

`ship_address_line1` varchar(120) DEFAULT NULL,

`payment_method` varchar(30) DEFAULT NULL,

PRIMARY KEY (`Record`),

UNIQUE KEY `amazon_order_id` (`amazon_order_id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-09-24 14:58

浏览 2402

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值