我的sql查询是:
mysql> select emp_id where classes like '%'XII'%';
但我有一个错误:
错误1064(42000):您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在第1行的“where”类(如“%”XII“%”)附近使用的正确语法
我可以理解这个错误是由于我在like参数中使用了单引号造成的,但我的数据库中有字符串,比如'X'、'XI'、'XII'。这就是我使用单引号进行查询的原因,因为如果我在字符串‘XI’、‘XII’中查询class X,那么它将返回教XI和XII标准的人的emp\u id,这是不可取的。
我可以为类似参数中的特殊字符使用转义字符吗?
使用双qoutes将搜索模式括起来
select emp_id from tableName
where classes like "%'XII'%";
请不要将值存储为逗号分隔的字符串,这不是一个好的数据库设计实践。看看这是为什么,特别是拉瑟·V·卡尔森回答
所以与其
empid classes
1 'X','XI','XII'
将其存储为单独的行
empid classes
1 'X'
1 'XI'
1 'XII'
您可以通过将单引号('
)加倍来转义单引号("
):
select emp_id FROM my_table where classes like '%''XII''%';
注意:这是两个单引号,不是双引号。
问题内容: 因此,当我想添加外键时出现错误。我在带有EER图模型的MySQL Workbench中添加了外键。工作台尝试添加的行是: 我得到的错误是: 我搜索了解决方案,发现括号很重要或反引号,但是由于代码是由该工具创建的,因此对我来说似乎是正确的。是什么导致错误? 问题答案: 对于任何看此的人,都可以在EER图模型窗口中设置要用于生成SQL脚本的MySQL版本。转到“编辑”,“首选项”,然后是“
同时添加外键关系MySQL给出: 我有2个表,试图给外键与其他的关系,但它给下面的错误。 错误1005:无法创建表'yellowbikes.#sql-1e8_82'(errno: 121) SQL声明: 错误:运行故障回复脚本时出错。详情如下。 错误1050:表“计划”已存在 SQL声明:
我有以下表格: 如果不存在,则创建表( varchar(50)不为空, varchar(50)不为空, varchar(50)不为空, 外键('courseid')在删除级联上引用'course'('course_id') )ENGINE=InnoDB默认CHARSET=latin1; 如果不存在,请创建表 varchar(50)Not NULL, varchar(50)Not NULL, var
我有一行代码: 它接受一个变量,其类型应为float。当我使用type()测试变量类型时,它返回: 但是我一直收到一个错误,上面写着“/: str和int不支持的操作数类型”。
嗨,我正在制作一个程序,该程序应该采用字母等级并将其转换为 GPA 值。程序的第一部分取了一个百分比并将其转换为字母等级,现在我正在尝试将转换后的字母等级转换为 int 值。我们只允许使用开关盒。但是,在执行此操作时,我发现一个不兼容的类型错误:java.lang.String required: int。不确定我需要更改什么,有什么帮助吗? 谢谢。
我是SQL新手,正在尝试创建一个如下的模式。然而,我似乎不能正确获得成员表的外键。我试着在表创建后添加它,最初似乎工作正常,但现在当我试图添加一个测试数据行时,我得到了这个错误。 我敢肯定,这是我错过的非常愚蠢的事情,但如果有人能指出我做错了什么,那就太好了! 错误代码:1452。无法添加或更新子行:外键约束失败 (。,CONSTRAINTFOREIGN KEY()REFERENCES()) 无法