This question already has an answer here:
insert autoincrement into second column
(1个答案)
6年前关闭。
如何在单个查询中将任何列的值设置为与mysql,php中的自动增量ID的值相同,
如果答案是触发的,那么请建议该怎么做?
我的桌子:
上面的代码尚未经过测试,但应以这种方式工作。
重要说明:还请注意,上述触发器仅对单行插入有效。同样,对于高并发应用程序来说,它也不安全。因此,我强烈建议您为my_id字段分配一个默认值,然后根据您的应用程序使用更合适的内容更新此字段。
(1个答案)
6年前关闭。
如何在单个查询中将任何列的值设置为与mysql,php中的自动增量ID的值相同,
如果答案是触发的,那么请建议该怎么做?
我的桌子:
id int : auto increment
my_id int : want same value as id
title varchar
最佳答案
您可以通过使用触发器来做到这一点:
CREATE TRIGGER tinsert_id BEFORE INSERT ON your_table FOR EACH ROW
BEGIN
SET NEW.my_id= (SELECT AUTO_INCREMENT FROM information_schema.tables WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME='your_table');
END
上面的代码尚未经过测试,但应以这种方式工作。
重要说明:还请注意,上述触发器仅对单行插入有效。同样,对于高并发应用程序来说,它也不安全。因此,我强烈建议您为my_id字段分配一个默认值,然后根据您的应用程序使用更合适的内容更新此字段。
10-07 23:59