Mysql数据库实现的简单置顶

Mysql数据库实现的简单置顶

1. 问题背景:小编要做一个文章管理的简单网页,用的是Mysql数据库。其中需要文章置顶功能,如图:

2. 最初的思路:机智的小编立刻大脑飞速运转,很快想到为存储文章的"article"表设定一个(int)型的"isTop"属性,0表示不置顶,大于0表示置顶且数字越大,优先级越高。显示的时候只需按照"isTop"降序显示。当用户需要将"id"为"001"的文章置顶时,后台只需获得所有文章"isTop"字段的最大值,并将其(+1)后赋值给"id"为"001"的文章的"isTop",就能保证置顶操作后的文章优先级最高。

3. 有瑕疵的实现:有了思路之后,小编立刻编写代码。主要还是sql语句,如下:

update article set isTop=((select Max(isTop) from article)+1) where id=?;

用了一个子查询,个人觉得没毛病,可是报错了

查了一下原来是Mysql的不支持先select再update同一个表。

4. 最终实现:小编在网上多方参考和尝试之后,发现解决办法。可以将article的数据取出来当作一个临时表,再在临时表中查询Max(isTop),就没有问题了。sql语句如下:

update article set isTop=((select Max(isTop) from (select * from article)as x)+1) where id=?;

5. 参考链接:http://www.jquerycn.cn/a_14968

时间: 2024-12-24 09:23:56

Mysql数据库实现的简单置顶的相关文章

mysql数据库基础的简单操作指南

最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据库.比mssql最大的优势在于开源,免费.希望与大家共同进步. mysql数据库基础的简单操作指南:首先进入mysql:mysql -u root -p 1.建库: create database 库名称; 例如:create database mydata;(创建一个名为“mydata”的库):

php基础编程-php连接mysql数据库-mysqli的简单使用

很多php小白在学习完php基础后,或多或少要接触到数据库的使用.而mysql数据库是你最好的选择,本文就mysql来为大家介绍php如何连接到数据库. PHP MySQLi = PHP MySQL Improved! MySQLi 函数允许您访问 MySQL 数据库服务器. 我简单的把php通过mysqli来连接mysql服务器分为5个步骤: 创建mysql连接 编辑sql语句,并执行返回结果 将返回的结果转为可以处理的数据结构,例如数组 释放本次查询的结果 释放本次连接 下面用代码向大家演示

Mysql数据库AB复制简单实现

Mysql 主 从 复 制 在实际企业应用环境当中,单台mysql数据库是不足以满足日后业务需求的.譬如服务器发生故障,没有备份服务器来提供服务的话,业务就得停止.介于这种情况,我们可以对mysql数据库进行主从复制,mysql直接的主从复制需版本相同,可以跨平台进行主从复制操作. 一.使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3.将主服务器上

用python操作mysql数据库(之简单查操作)

1.mysql安装 此处省略一万字....... 2.pip安装MySQLdb模块 sudo pip install mysql-python 3.简单代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb #建立连接 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1qaz#EDC',db='test_db') cur = conn.cursor() 

mysql数据库编程,内置函数,存储过程(循环插入)

mysql编程注释:行:# 或者 -- 定义变量set 变量名 =变量名注意:为了区分系统变量和字段 在加一个@标识符例如   set @who ='韩当'; 使用select 可以获得当前变量的值 select 10,15,20 into @a,@b,@c; 注意:=应该是赋值,但是在select语句内,就成了关系等于,使用专门的赋值运算符:=同样使用与set 1.作用域, 用户定义的函数,是全局的(函数内可以),村子局部作用域变量,函数内定义的变量2.有效期,回话结束(连接结束) 内置函数

wampserver修改mysql数据库密码的简单方式

刚装好的wampserver的数据库是没有密码的,所以可以直接登录,要设置密码,一种简单的方式如下: 打开phpMyadmin 初始状态没有密码,可以直接登录 登录之后,点击账户 点击修改权限,设置你的密码即可. 之后打开目录wamp>apps>phpmyadmin文件夹下的[config.inc.PHP]文件, 修改[$cfg['Servers'][$i]['password'] = ''];为[$cfg['Servers'][$i]['password'] = '要修改的密码';]. 重新

MySQL数据库的一些简单操作

数据库启动并进行初始安全设置之后,我们就可以登录数据库了. 登录数据库 [[email protected] ~]# mysql -p Enter password:                        输入设置的密码 Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.7.10 MySQL CommunityServer (G

nodejs链接mysql数据库,执行简单的增删改查操作

var mysql = require('mysql'); var conn = mysql.createConnection({ host: 'localhost', user: 'root', password: '', database:'nodejs', port: 3306 }); conn.connect(); //查询 // conn.query('SELECT * from user where name="wangzhiwei"', function(err, res

MySQL 数据库改名的简单方法

假设,已有一数据库名为o_dbName,欲改名为n_dbName. 1.备份, mysqldump -u root -ppwd o_dbName > c:\database.sql 2.创建新数据库n_dbName 3.导入表,mysql -u root -ppwd n_dbName < c:/database.sql