首页 > 数据库 >MySQL自定义函数

MySQL自定义函数

时间:2022-11-07 20:35:15浏览次数:43  
标签:username INSERT LAST 函数 自定义 MySQL id mysql ID





首先,做一个热身。引进一个系统函数LAST_INSERT_ID();
这个函数的功能就是放回上一次插入的数据的id
做个示范
插入数据                                                                                                            vdfb
mysql> INSERT test VALUES(NULL,'基辅迪纳摩');
调用LAST_INSERT_ID()
mysql> SELECT  LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                3 |
+------------------+
当前表中的全部数据
mysql> SELECT * FROM test;
+----+------------+
| id | username   |
+----+------------+
|  1 | 巴西体育           |
|  2 | 阿根廷独立          |
|  3 | 基辅迪纳摩          |
+----+------------+


注意如果,同时间插入两条数据,返回的是第一条数据的id
插入数据
mysql> INSERT test(username) VALUES('巴西桑托斯'),('荷兰阿贾克斯 ');
调用函数
mysql> SELECT  LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
|                4 |
+------------------+
查询当前表中的全部数据
mysql> SELECT * FROM test;
+----+---------------+
| id | username      |
+----+---------------+
|  1 | 巴西体育              |
|  2 | 阿根廷独立             |
|  3 | 基辅迪纳摩             |
|  4 | 巴西桑托斯            |
|  5 | 荷兰阿贾克斯            |
+----+---------------+

例1
创建自定义函数,通过这个函数我可以一次插入一条记录,并返回所说插入记录的id号

mysql> DELIMITER //
mysql> CREATE FUNCTION adduser(username VARCHAR(20))
    -> RETURNS INT UNSIGNED
    -> BEGIN
    -> INSERT test(username) VALUES(username);
    -> RETURN LAST_INSERT_ID();
    -> END
    -> //
Query OK, 0 rows affected (0.01 sec)
在创建结束之用DELIMITER ;修改一下分隔符
mysql> DELIMITER ;

调用自定义函数
mysql> SELECT adduser('AC Milan');
+---------------------+
| adduser('AC Milan') |
+---------------------+
|                   8 |
+---------------------+
查看当前表中记录
mysql> SELECT * FROM test;
+----+---------------+
| id | username      |
+----+---------------+
|  1 | 巴西体育              |
|  2 | 阿根廷独立             |
|  3 | 基辅迪纳摩             |
|  4 | 巴西桑托斯            |
|  5 | 荷兰阿贾克斯            |
|  8 | AC Milan      |
+----+---------------+


标签:username,INSERT,LAST,函数,自定义,MySQL,id,mysql,ID
From: https://blog.51cto.com/u_11320078/5831321

相关文章

  • MySQL日期时间函数
    日期时间函数NOW()                                           当前日期和时间CURDATE()                ......
  • C++溢出对象虚函数表指针
      C++一特性是通过virtual关键字实现运行时多态,虽然自己用到这个关键字的机会不多,但很多引用的第三方库会大量使用这个关键字,比如MFC...如果某个函数由virtual关键字修......
  • Go | 函数(包)的使用
    实现加减乘除运算传统方法实现:varn1float64=1.2varn2float64=2.1varoptbyte='+'varresfloat64switchopt{case'+':res=n1+n2ca......
  • 函数提高
    3函数提高3.1函数默认参数在C++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型函数名(参数=默认值){}示例:intfunc(inta,intb=10,intc=10)......
  • MySQL基础篇
    一.MySQL概述(一).什么是数据库?数据库就是存储数据的仓库,简称DB(database);SQL是操作数据库的编程语言,是一套标准,通过编写SQL语句来操作数据库;(二).关系型数据库是将数......
  • mysql 错误:The driver has not received any packets from the server.
    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:CommunicationslinkfailureThelastpacketsentsuccessfullytotheserverwas0millisecondsago.The......
  • W: GPG error: http://repo.mysql.com/apt/ubuntu bionic InRelease: (签名失败)
    签名失败了安装MySQL8.0的时候遇到的问题,当时执行了apt-getupdate的指令,然后出现了下面一大堆Hit:1https://download.docker.com/linux/ubuntubionicInReleaseHit:3htt......
  • DLL的入口点函数
    一、基本介绍系统在不同的时候调用这个入口点函数,这些调用是通知性质的,用来执行一些与进程或者线程有关的清理工作。如果DLL需要这些通知,则需要在源代码中实现这个入口点......
  • JAVA回调函数简单讲解 CallBack
    回调,其实就是有个回应的那种感觉。那么,接下来,我们就用消息推送的场景,简简单单地讲解下回调函数的使用。直接看代码,先创建一个回调接口,MessageCallBack/***@Author:JCccc......
  • 卸载mysql并重装 mac
    sudorm/usr/local/mysqlsudorm-rf/usr/local/mysql*sudorm-rf/Library/StartupItems/MySQLCOMsudorm-rf/Library/PreferencePanes/My*rm-rf~/Library/Pr......