MySQL中字段名和保留字冲突的解决办法_Mysql

我们知道通常的SQL查询语句是这么写的:

复制代码 代码如下:

select col from table;

这当然没问题,但如果字段名是“from”呢?

复制代码 代码如下:

select from from table;

若真的这么写,必然出错,当字段名与MySQL保留字冲突时,可以用字符“`”将字段名括起来:

复制代码 代码如下:

select `from` from table;

总结

刚发现我原先设计的数据库表里有两个字段都用了保留字(add,comment)。在insert和update的时候出错。记得sql server里好像是用[]括起来就ok了。于是试了一下,事实证明这在mySql里行不通。上网简单搜了一下发现都是说用中括号。后来又想到MySql Administrator生成的sql语句好像会把表名什么都用单引号括起来。试了一下,还是行不通。但复制生成的那个符号发现可以。确定那个符号不是单引号。一看才发现时撇号(` 就是数字1前面那个键上的)。到此问题解决。总结一下就是一句话:

在Mysql中,当表名或字段名乃至数据库名和保留字冲突时,在sql语句里可以用撇号(`)括起来。

时间: 2024-09-22 09:46:17

MySQL中字段名和保留字冲突的解决办法_Mysql的相关文章

Mysql中 unique列插入重复值该怎么解决呢_Mysql

当unique列在一个UNIQUE键上插入包含重复值的记录时,我们可以控制MySQL如何处理这种情况:使用IGNORE关键字或者ON DUPLICATE KEY UPDATE子句跳过INSERT.中断操作或者更新旧记录为新值. mysql> create table menus(id tinyint(4) not null auto_increment, -> label varchar(10) null,url varchar(20) null,unique key(id)); Query

将MySQL从MyISAM转换成InnoDB错误和解决办法_Mysql

后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没多想.直到这几天因为又要装多一个WordPress,用phpmyadmin访问数据库多一点,问题来了.老是一访问WordPress的数据库,就弹出错误提示"Mysqld-nt.exe应用程序错误:"0x005346c4"指令引用的"0x00786000"内存,该内存不能为

mysql中Load Data记录换行问题的解决方法_Mysql

问题是这样的: 表persons有两个字段: id和name文本文档persons.txt中内容(其中每行字段之间用tab分割):1    Bush2    Carter3    Bush 在mysql命令行下使用 load data local infile "persons.txt" into table persons 导入数据到persons表中. 导入后查看persons表的数据,与persons.txt的内容一致.但是使用语句select distinct name fro

php和mysql中uft-8中文编码乱码的几种解决办法_php技巧

PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 复制代码 代码如下: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:"文件"->"另存为",可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是ANSI,需要将编码改成:UTF-8. 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签 否则,会出现session不能使用

php和mysql中uft-8中文编码乱码的几种解决办法

对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了php文件乱码和页面乱码以及php mysql数据库连接时乱码解决方法. - - PHP页面转UTF-8编码问题 1.在代码开始出加入一行: 代码如下  header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:"文件"->"另存为",可以看到当前文件的编码,确保文件编码为:UTF-8, 如果是

MySQL中日期比较时遇到的编码问题解决办法_Mysql

今天帮同事处理一个SQL(简化过后的)执行报错: 复制代码 代码如下: mysql> select date_format('2013-11-19','Y-m-d') > timediff('2013-11-19', '2013-11-20');                                         ERROR 1267 (HY000): Illegal mix of collations (utf8_general_ci,COERCIBLE) and (latin1

MYSQL数据库导入数据时出现乱码的解决办法_Mysql

首先在新建数据库时一定要注意生成原数据库相同的编码形式,如果已经生成可以用phpmyadmin等工具再整理一次,防止数据库编码和表的编码不统一造成乱码. 方法一: 通过增加参数 –default-character-set = utf8 解决乱码问题 mysql -u root -p password < path_to_import_file –default-character-set = utf8 方法二: 在命令行导入乱码解决 1. use database_name; 2. set n

代码-mysql中字段为text类型使用mybatis的Criteria查询无法进行封装

问题描述 mysql中字段为text类型使用mybatis的Criteria查询无法进行封装 这是我的数据库 tb_item_param CREATE TABLE `tb_item_param` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `item_cat_id` bigint(20) DEFAULT NULL COMMENT '商品类目ID', `param_data` text COMMENT '参数数据,格式为json格式', `created`

关于mysql中字段的数据类型和程序中变量的数据类型的匹配问题

问题描述 我想知道完整的mysql中字段的数据类型对应程序中变量的数据类型的完整版,比如:mysql中varchar数据类型对应程序中String类型变量. 解决方案 解决方案二:我觉得你还是把mysql的类型列出来!!这样才能给你完整的匹配!!intIntegerlongLongdatetimeTimestamp长的小数点Decimal等等