gpt4 book ai didi

mysql - UPDATE表id及其约束MYSQL

转载 作者:行者123 更新时间:2023-11-29 12:48:03 28 4
gpt4 key购买 nike

我在 mysql 中有一个数据库,我有一个主表,它使用列名 cedula VARCHAR (50),该列有字符,但我想用连续的数字更改它。我尝试过这个:

SET @a:=1;
UPDATE bdpiiad2.tpersona
SET cedula=(CONVERT(@a:=@a+1, CHAR(50)))

但是我有两个问题,第一是没有改变,第二是我不确定是否更改其他有引用的表中的其他 id。

最佳答案

尝试使用这个

SET @a:=1;
UPDATE bdpiiad2.tpersona
SET cedula=(CAST(@a:=@a+1 as CHAR));

更新创建这样的过程所需的所有内容

DELIMITER $$

USE `bdpiiad2`$$

DROP PROCEDURE IF EXISTS bdpiiad2.`up`$$

CREATE PROCEDURE `up`()
BEGIN
DECLARE max_cnt INT;
DECLARE cnt INT;
SET cnt=1;
UPDATE bdpiiad2.tpersona SET cedula='0';
SELECT COUNT(*) INTO max_cnt FROM bdpiiad2.tpersona;

WHILE cnt<=max_cnt DO
UPDATE bdpiiad2.tpersona
SET cedula=(CAST(cnt AS CHAR))
WHERE cedula='0' LIMIT 1;
SET cnt=cnt+1;
END WHILE;
END$$

DELIMITER ;

然后这样调用它

CALL bdpiiad2.up();

关于mysql - UPDATE表id及其约束MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25168362/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com