摘要:如果我們開啟了我們就必須為我們的指定一個參數(shù)。在中創(chuàng)建函數(shù)時出現(xiàn)這種錯誤的解決方法
mysql實現(xiàn)nextVal功能
首先創(chuàng)建表:
CREATE TABLE `sys_sequence` ( `NAME` varchar(50) NOT NULL, `CURRENT_VALUE` int(11) NOT NULL DEFAULT "0", `INCREMENT` int(11) NOT NULL DEFAULT "1", PRIMARY KEY (`NAME`) )
插入記錄
INSERT INTO SYS_SEQUENCE(NAME,CURRENT_VALUE,INCREMENT) VALUES("TBL_FS", 1,1)
DELIMITER $$ DROP FUNCTION IF EXISTS `currval`$$ CREATE DEFINER=`root`@`%` FUNCTION `currval`(seq_name VARCHAR(50)) RETURNS INT(11) BEGIN DECLARE VALUE INTEGER; SET VALUE=0; SELECT current_value INTO VALUE FROM sys_sequence WHERE NAME=seq_name; RETURN VALUE; END$$ DELIMITER ;
查詢當前記錄:
select currval("TBL_FS");
如果出現(xiàn)Error Code: 1449 The user specified as a definer ("root"@"%") does not exist 錯誤,則執(zhí)行如下sql:
grant all privileges on . to root@"%" identified by "password";
flush privileges;
繼續(xù)執(zhí)行當前記錄sql則成功
創(chuàng)建nextval函數(shù)
DELIMITER $$ DROP FUNCTION IF EXISTS `nextval`$$ CREATE DEFINER=`root`@`%` FUNCTION `nextval`(seq_name varchar(50)) RETURNS int(11) BEGIN UPDATE sys_sequence SET CURRENT_VALUE = CURRENT_VALUE + INCREMENT where name=seq_name; return currval(seq_name); END$$ DELIMITER ;
執(zhí)行nextval函數(shù)
select nextval("tbl_fs")
創(chuàng)建函數(shù)過程中出現(xiàn)This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 錯誤
這是我們開啟了bin-log, 我們就必須指定我們的函數(shù)是否是
1 DETERMINISTIC 不確定的
2 NO SQL 沒有SQl語句,當然也不會修改數(shù)據(jù)
3 READS SQL DATA 只是讀取數(shù)據(jù),當然也不會修改數(shù)據(jù)
4 MODIFIES SQL DATA 要修改數(shù)據(jù)
5 CONTAINS SQL 包含了SQL語句
其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我們開啟了 bin-log, 我們就必須為我們的function指定一個參數(shù)。
在MySQL中創(chuàng)建函數(shù)時出現(xiàn)這種錯誤的解決方法:
set global log_bin_trust_function_creators=TRUE;
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76609.html
摘要:首先創(chuàng)建表插入記錄執(zhí)行函數(shù)查詢記錄如果出現(xiàn)錯誤,則執(zhí)行如下繼續(xù)執(zhí)行當前記錄則成功創(chuàng)建函數(shù)創(chuàng)建好了表之后如圖字段為代理表名稱,原來為,此處我修改了,為當前序號,為步長。 首先創(chuàng)建表:CREATE TABLE sys_sequence ( NAME varchar(50) NOT NULL, CURRENT_VALUE int(11) NOT NULL DEFAULT 0, INCR...
摘要:移動易后臺實現(xiàn)外部數(shù)據(jù)庫連接要實現(xiàn)外置數(shù)據(jù)庫,即上層開發(fā)人員不關(guān)心下層數(shù)據(jù)庫的實現(xiàn),在項目中需要針對不同數(shù)據(jù)庫修改文件以及在項目中添加依賴包。本文主要介紹移動易后臺如何實現(xiàn)同不同數(shù)據(jù)源的連接,數(shù)據(jù)源包括,。 1、移動易后臺實現(xiàn)外部數(shù)據(jù)庫連接 要實現(xiàn)外置數(shù)據(jù)庫,即上層開發(fā)人員不關(guān)心下層數(shù)據(jù)庫的實現(xiàn),在Spring boot項目 中需要針對不同數(shù)據(jù)庫修改application.proper...
摘要:數(shù)據(jù)類型類型轉(zhuǎn)換數(shù)值類型數(shù)值類型序列類型不同于的自增長,和都是序列的方式創(chuàng)建使用創(chuàng)建序列關(guān)聯(lián)列表架構(gòu)模式名稱類型擁有者數(shù)據(jù)表數(shù)據(jù)表序列數(shù)行記錄數(shù)據(jù) 數(shù)據(jù)類型 showImg(https://segmentfault.com/img/bVbi9mw?w=750&h=379);showImg(https://segmentfault.com/img/bVbi9mz?w=729&h=626)...
摘要:中的序列是一個數(shù)據(jù)庫對象,本質(zhì)上是一個自增器。因此,序列在其他同類型數(shù)據(jù)庫軟件中以值的形式存在。注意字段的默認值并不是強制使用的。用戶仍然可以手動插入值,這樣潛在地造成與未來的序列值沖突的風險。現(xiàn)在我們成功地執(zhí)行一次序列刪除來自 PostgreSQL 中的序列是一個數(shù)據(jù)庫對象,本質(zhì)上是一個自增器。因此,序列在其他同類型數(shù)據(jù)庫軟件中以 autoincrment 值的形式存在。在一張表需要...
閱讀 2197·2021-11-24 09:38
閱讀 3259·2021-11-08 13:27
閱讀 3101·2021-09-10 10:51
閱讀 3167·2019-08-29 12:20
閱讀 677·2019-08-28 18:28
閱讀 3473·2019-08-26 11:53
閱讀 2722·2019-08-26 11:46
閱讀 1530·2019-08-26 10:56