国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

mysql實現nextVal功能

sixgo / 3520人閱讀

摘要:如果我們開啟了我們就必須為我們的指定一個參數。在中創建函數時出現這種錯誤的解決方法

mysql實現nextVal功能

首先創建表:

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");
如果出現Error Code: 1449 The user specified as a definer ("root"@"%") does not exist 錯誤,則執行如下sql:
grant all privileges on . to root@"%" identified by "password";
flush privileges;

繼續執行當前記錄sql則成功
創建nextval函數

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 ;

執行nextval函數
select nextval("tbl_fs")

創建函數過程中出現This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de 錯誤

這是我們開啟了bin-log, 我們就必須指定我們的函數是否是
1 DETERMINISTIC 不確定的
2 NO SQL 沒有SQl語句,當然也不會修改數據
3 READS SQL DATA 只是讀取數據,當然也不會修改數據
4 MODIFIES SQL DATA 要修改數據
5 CONTAINS SQL 包含了SQL語句

其中在function里面,只有 DETERMINISTIC, NO SQL 和 READS SQL DATA 被支持。如果我們開啟了 bin-log, 我們就必須為我們的function指定一個參數。

在MySQL中創建函數時出現這種錯誤的解決方法:
set global log_bin_trust_function_creators=TRUE;

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/76609.html

相關文章

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

    摘要:首先創建表插入記錄執行函數查詢記錄如果出現錯誤,則執行如下繼續執行當前記錄則成功創建函數創建好了表之后如圖字段為代理表名稱,原來為,此處我修改了,為當前序號,為步長。 首先創建表:CREATE TABLE sys_sequence ( NAME varchar(50) NOT NULL, CURRENT_VALUE int(11) NOT NULL DEFAULT 0, INCR...

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

    摘要:移動易后臺實現外部數據庫連接要實現外置數據庫,即上層開發人員不關心下層數據庫的實現,在項目中需要針對不同數據庫修改文件以及在項目中添加依賴包。本文主要介紹移動易后臺如何實現同不同數據源的連接,數據源包括,。 1、移動易后臺實現外部數據庫連接 要實現外置數據庫,即上層開發人員不關心下層數據庫的實現,在Spring boot項目 中需要針對不同數據庫修改application.proper...

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

    摘要:數據類型類型轉換數值類型數值類型序列類型不同于的自增長,和都是序列的方式創建使用創建序列關聯列表架構模式名稱類型擁有者數據表數據表序列數行記錄數據 數據類型 showImg(https://segmentfault.com/img/bVbi9mw?w=750&h=379);showImg(https://segmentfault.com/img/bVbi9mz?w=729&h=626)...

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

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

    geekzhou 評論0 收藏0

發表評論

0條評論

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