求助 关于mysql 中select * 的问题

问题描述

求助 关于mysql 中select * 的问题

遇到一个特殊情况,
下面两条语句,第一条可以执行成功,第二条会报语法错误(count_time 是 a表中得一个字段)
1 select * , FROM_UNIXTIME(count_time) from a
2 select FROM_UNIXTIME(count_time),* from a

求大神回复为什么会这样。多谢!

解决方案

FROM_UNIXTIME作用将MYSQL中以INT(11)存储的时间以"YYYY-MM-DD"格式来显示。
select FROM_UNIXTIME(count_time) 这里就可以是个完整的sql语句了,当*时就需要指出数据库了
select * , FROM_UNIXTIME(count_time) from a 而这个相当于先执行了select * from a 在执行select FROM_UNIXTIME(count_time)

解决方案二:

FROM_UNIXTIME(count_time)数据库查询出来作为一个新的字段,并不是a表本身有的,而你之前*是a表的所有字段,所以要加上表名

解决方案三:

select FROM_UNIXTIME(count_time),a.* from a
要加上表名,不然数据库不知道

解决方案四:

参考:http://www.cnblogs.com/tdalcn/archive/2011/04/23/2025465.html
FROM_UNIXTIME(count_time)在前是不是需要指定一个别名?

解决方案五:

mysql update select 问题
mysql select 语句出现中文乱码问题
MYSQL select时锁定记录问题

解决方案六:

应该都可以,检查下标点符号、拼写等细节

时间: 2024-11-02 02:12:36

求助 关于mysql 中select * 的问题的相关文章

MySQL中select语句介绍及使用示例

数据表都已经创建起来了,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,下面为大家讲解下MySQL中select语句的应用,感兴趣的碰可以学习下   数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where las

MySQL中select语句使用order按行排序_Mysql

本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序. 再来回顾一下SQL语句中的select语句的语法: Select 语句的基本语法: Select <列的集合> from <表名> where <条件> order by <排序字段和方式> 如果要对查询结果按某个字段排序,则要使用order by 子句,如下: select * from <表名> order by <字段名称>

MySQL中select语句介绍及使用示例_Mysql

数据表都已经创建起来了,假设我们已经插入了许多的数据,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,比如说:可以象下面这样把整个数据表内的内容都显示出来 select * from president; 也可以只选取某一个数据行里的某一个数据列 select birth from president where last_name='Eisenhower'; select语句的通用形式如下: select 你要的信息 from 数据表(一个或多个) where 满足的条件 sel

MySQL中select into和MSSQL select into用法区别

  一.MySQL不支持Select Into语句直接备份表结构和数据,由于工作中的需要在网上找到一种方法可以代替, 也有其它方法可以处理,总结如下: 方法1: MYSQL不支持:  代码如下 复制代码 Select * Into new_table_name from old_table_name; 替代方法: Create table new_table_name (Select * from old_table_name); 方法2: 1.先备份表结构和数据 #导出命令 -u用户名 -p密

Mysql中SELECT INTO 语句用法详解

语法介绍:  把所有的列插入新表    代码如下 复制代码 SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename  只把希望的列插入新表    代码如下 复制代码 SELECT column_name1, column_name2 INTO new_table_name [IN externaldatabase] FROM old_tablename    实例1:制作 "Persons" 表的备份文

MySQL中select * for update锁表的问题(转)

由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住). 举个例子: 假设有个表单products ,里面有id跟name二个栏位,id是主键. 例1: (明确指定主键,并且有此笔资料,row lock) SELECT * FROM products WHERE id='3' FOR UPDATE; SELECT * FROM produc

10个mysql中select语句的简单用法_Mysql

1.select语句可以用回车分隔 $sql="select * from article where id=1" 和 $sql="select * from article where id=1",都可以得到正确的结果,但有时分开写或许能更明了一点,特别是当sql语句比较长时 2.批量查询数据 可以用in来实现 $sql="select * from article where id in(1,3,5)" 3.使用concat连接查询的结果 $

mysql中select into from语句使用例子分析

表如下所示  代码如下 复制代码 SELECT * FROM `test_table_draw` WHERE `borough_id`>=10266 and `borough_id` <=12354 户型表 SELECT * FROM `test_table_pic` WHERE `borough_id`>=10266 and `borough_id` <=12354 相册表 创建一个备份表  代码如下 复制代码 CREATE TABLE IF NOT EXISTS `test_t

MySQL中SELECT+UPDATE处理并发更新问题解决方案分享_Mysql

问题背景: 假设MySQL数据库有一张会员表vip_member(InnoDB表),结构如下:   当一个会员想续买会员(只能续买1个月.3个月或6个月)时,必须满足以下业务要求: •如果end_at早于当前时间,则设置start_at为当前时间,end_at为当前时间加上续买的月数 •如果end_at等于或晚于当前时间,则设置end_at=end_at+续买的月数 •续买后active_status必须为1(即被激活) 问题分析: 对于上面这种情况,我们一般会先SELECT查出这条记录,然后根