Mysql备份还原的一个bug
从mysql备份出来的sql文件进行还原操作时报错,查看错误日志,内容如下:
Error Code: 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 'USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=50913 DEFAULT CHARSET=gbk' at line 21
原因如下:
导出文件中的源码:
PRIMARY KEY (`row_id`) USING BTREE,
UNIQUE KEY `columnAindex` (`columnA`),
KEY `columnBindex` (`columnB`) USING HASH,
KEY `columnCindex` (`columnC`) USING BTREE,
...
正确的写法:
PRIMARY KEY USING BTREE (`row_id`),
UNIQUE KEY `columnAindex` (`columnA`),
KEY `columnBindex` USING HASH (`columnB`),
KEY `columnCindex` USING BTREE (`columnC`),
...
将导出文件中的所有索引类型(USING BTREE 等)挪到索引列(columnB等)的前面,就能够正常完成导入操作。
相关文档:
安装选择GBK,使用选择UTF-8。
解决方法一:(最重要的一种方法)
打开mysql目录下的bin文件夹,找到my.ini,使用记事本找开,分别找“[mysql]、[client]、[mysqld]”,添加(或改成)“default-character ......
由于项目需要,对mysql分布事务有一定要求.这里先简单说明必要.
假设,日常财务中,要完成一个拥护订购,必须将定单操作和财务操作封在一个事务中才能保证交易完整性.
如果定单和财务数据都分布在各自的实例中,则必须用分布事务才能满足.
废话不多,进入分布事务探索。
(本文例子来自网络,本文只注重探索)
1.在本机 loca ......
1、PHP发送中文、Ajax接收
只需在php顶部加入一句:
header('Content-type: text/html;charset=GB2312');
xmlHttp会正确解析其中的中文。
2、Ajax发送中文、PHP接收
这个比较复杂:
Ajax中先用encodeURIComponent对要提交的中文进行编码
PHP中:
$GB2312string=iconv( ‘UTF-8′, ‘gb2312//I ......
使用mysql又遇到问题了,这次是关于乱码的...
其实我也比较了解编码的问题,也知道乱码产生的原理,而且网上对mysql的乱码问题也有比较多的解答,
但是今天我遇到的这个乱码却比较奇怪,在when语句中产生了奇怪的乱码。
create table my_table(id int, name varchar(50), born DateTime);
insert into my_table val ......