gpt4 book ai didi

MySQL - 在创建时将列名设置为 ID?

转载 作者:行者123 更新时间:2023-11-30 23:53:48 25 4
gpt4 key购买 nike

我正在尝试为记录列表实现自定义排序字段。当我创建新记录时,默认情况下我希望此字段与该记录的 ID 号相匹配。有什么方法可以在不执行两次查询的情况下实现这一点?

感谢任何建议。

谢谢

最佳答案

您可以使用

获取 下一个自增id
SHOW TABLE STATUS FROM tablename LIKE Auto_increment
/*or*/
SELECT `auto_increment` FROM `INFORMATION_SCHEMA.TABLES` WHERE table_name = 'tablename'

这将为您提供下一个 auto_increment 值。

然后做一个前插入触发器:

DELIMITER $$

CREATE TRIGGER bi_table1_each BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
DECLARE next_id integer;
SELECT `auto-increment` FROM `INFORMATION_SCHEMA.TABLES` INTO Next_id
WHERE TABLE_NAME = 'table1' LIMIT 1;
SET new.sortcolumn = next_id;
END $$

DELIMITER ;

链接
http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
http://dev.mysql.com/doc/refman/5.0/en/triggers.html
http://dev.mysql.com/doc/refman/5.0/en/create-trigger.html

关于MySQL - 在创建时将列名设置为 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6611083/

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