成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mysql實現(xiàn)nextVal功能

sixgo / 3557人閱讀

摘要:如果我們開啟了我們就必須為我們的指定一個參數(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

相關(guān)文章

  • mysql實現(xiàn)nextVal功能,即使用代理表實現(xiàn)其他表的主鍵自增長

    摘要:首先創(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...

    ISherry 評論0 收藏0
  • 移動易開源APP組合套件更新——支持多種外部數(shù)據(jù)庫,支持全文搜索

    摘要:移動易后臺實現(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...

    anyway 評論0 收藏0
  • PostgreSQL的實踐一:數(shù)據(jù)類型(一)

    摘要:數(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)...

    高璐 評論0 收藏0
  • PostgreSQL之序列(Sequence)

    摘要:中的序列是一個數(shù)據(jù)庫對象,本質(zhì)上是一個自增器。因此,序列在其他同類型數(shù)據(jù)庫軟件中以值的形式存在。注意字段的默認值并不是強制使用的。用戶仍然可以手動插入值,這樣潛在地造成與未來的序列值沖突的風險。現(xiàn)在我們成功地執(zhí)行一次序列刪除來自 PostgreSQL 中的序列是一個數(shù)據(jù)庫對象,本質(zhì)上是一個自增器。因此,序列在其他同類型數(shù)據(jù)庫軟件中以 autoincrment 值的形式存在。在一張表需要...

    geekzhou 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<