读书人

天突然发现MySQL的一个新特征!这是

发布时间: 2012-03-08 13:30:13 作者: rapoo

天,突然发现MySQL的一个新特征!这是真的吗? 两个单引号
下载最新版的phpMyadmin导出一个数据表,居然发现里面有错误的代码(刚开始的时候以为),然后反复测试了很多遍。发现是没有问题的。

老写法:

SQL code
INSERT INTO `ba_plus` VALUES ('27', '友情链接模块', '<m:item name=\'友情链接模块\' link=\'friendlink_main.php\' rank=\'plus_友情链接模块\' target=\'main\' />', '', '织梦团队', '1', '');


新写法:
SQL code
INSERT INTO `ba_plus` VALUES (27, '友情链接模块', '<m:item name=''友情链接模块'' link=''friendlink_main.php'' rank=''plus_友情链接模块'' target=''main'' />', '', '织梦团队', 1, '');


新写法为什么是正确的啊?两个单引号一起


测试的表结构:
SQL code
CREATE TABLE IF NOT EXISTS `ba_plus` (  `aid` mediumint(8) unsigned NOT NULL auto_increment,  `plusname` varchar(30) NOT NULL default '',  `menustring` varchar(200) NOT NULL default '',  `mainurl` varchar(50) NOT NULL default '',  `writer` varchar(30) NOT NULL default '',  `isshow` smallint(6) NOT NULL default '1',  `filelist` text,  PRIMARY KEY  (`aid`)) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


[解决办法]
直接在MYSQL命令工具中试一下呢? 会不会是PHP的一些功能。
[解决办法]
引用好奇怪哦,么有报错,运行成功,但是并没有完全写入。到了单引号哪里就断了。

[解决办法]
php帮你转得把
[解决办法]
php应该会报错的。。肯定Navicat 8动了手脚。
[解决办法]
有个术语叫escape, 应该是客户端工具提前帮你进行了转换。
[解决办法]
。。。
转义字符。
在字符串里的'要转换成''
[解决办法]
就是转义字符吧。oracle里是'
[解决办法]
话说你这个新发现和某个类C语言(C/C++/Java/C#)的使用者,突然发现可以用
SQL code
SELECT * FROM table WHERE x <> 1 

读书人网 >Mysql

热点推荐