首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL“旧版本语法”

MySQL“旧版本语法”
EN

Stack Overflow用户
提问于 2015-07-06 21:59:48
回答 1查看 99关注 0票数 0

我目前正在将我的SQLite数据库移植到MySQL,只是创建了一个脚本来将所有插入的和更多的插入更改为MySQL,但是im有时会得到“旧版本语法错误”:

代码语言:javascript
复制
INSERT INTO players(id, name) VALUES (21457, '/Gohst_Killer67\');

数据库结构:

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS players (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(40))

我保存了大量的用户名,但是那些/或\继续引发这些错误消息。我希望有一种不编辑所有包含/或的名称的方法来修复它。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-06 22:11:20

用mysql的方式是-

代码语言:javascript
复制
Hitesh> CREATE TABLE IF NOT EXISTS players (id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(40));
Query OK, 0 rows affected (0.21 sec)

Hitesh> INSERT INTO players(id, name) VALUES (21457, '/Gohst_Killer67\'');
Query OK, 1 row affected (0.04 sec)

对于特殊字符,您应该在它之前使用\。就像我在insert中使用了\'一样。

可以通过在SQL模式中设置逃逸来禁用反斜杠转义:

代码语言:javascript
复制
SET @old_sql_mode=@@sql_mode;
SET @@sql_mode=CONCAT_WS(',', @@sql_mode, 'NO_BACKSLASH_ESCAPES');
Hitesh> INSERT INTO players(id, name) VALUES (21457,   "/Gohst_Killer67'");
Query OK, 1 row affected (0.04 sec)

对于insert单引号,您可以在插入时将字符串放入"“,也可以像我一样将字符串插入”单引号“。另外,您可以使用引号函数报价

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31256401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档