MySQL自定义函数
2016-10-22 11:04
204 查看
首先,做一个热身。引进一个系统函数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 |
+----+---------------+
首先,做一个热身。引进一个系统函数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 |
+----+---------------+
相关文章推荐
- MSSQL 和 Mysql 切割字符串 自定义函数与存储过程
- SQLServer向MySQL移植笔记(一)自定义函数
- MySql DETERMINISTIC log_bin_trust_function_creators 自定义函数执行时报错
- mysql 自定义函数
- mysql 自定义函数 实现字符串匹配
- [原创]Mysql自定义函数
- MySQL自定义排序函数FIELD()
- 深入mysql创建自定义函数与存储过程的详解
- mysql 自定义函数获取两点间距离
- mysql创建自定义函数
- Mysql Query Browser下创建存储过程和自定义函数
- Access里自定义类似MySQL group_concat 的函数
- mysql建立自定义函数的问题
- 深入mysql创建自定义函数与存储过程的详解
- mysql创建自定义函数和存储过程
- MSSQL 和 Mysql 切割字符串 自定义函数与存储过程
- mysql建立自定义函数的问题
- Access里自定义类似MySQL group_concat 的函数
- linux下mysql扩展,自定义函数实现(…
- mysql创建自定义函数