我有一个数据库,tvguide,这些是值:
id bigint 255 UNSIGNED AUTO_INCREMENT
programme varchar 255
default value (which is from another table
with list of programs, the only linked field that
is shared with other table):<b><a href="gossipgirl.php">Gossip Girl</a></b>
channel varchar 255
airdate DATETIME - actual airtime
displayair DATETIME (rounded-up datetime, e.g. programme that airs 1.59pm
would be shown as 2.00pm, or 6.08pm as 6.10pm)
expiration DATETIME - when program finishes
episode VARCHAR 255 NULL - has null option if episode unknown
series VARCHAR 255
epno VARCHAR 255 - episode number
setreminder VARCHAR255 (shows "set reminder", sends email to user, but that's
another thing to work on).
我想在我的数据库中插入一个触发器,以便在删除记录时,ID自动增量会自动重新设置?
关于如何实现这一目标的任何想法?到目前为止我手动完成了它,但是当我删除记录时,我正在看看我能用phpMyadmin做什么。
顺便说一下,我为表格制作了一份表格副本。
由于
答案 0 :(得分:1)
我同意whitstone86的评论,你可以“让它成长”。
话虽如此,要随时更改AUTO_INCREMENT
,您只需运行ALTER TABLE
。
一些伪代码......
SELECT MAX(id)+1 AS max_id_plus_one FROM my_table;
ALTER TABLE my_table AUTO_INCREMENT = $max_id_plus_one;
对于生产,竞争条件可能是一个问题。但是,如果只是你在phpmyadmin中徘徊,这应该足够了。
答案 1 :(得分:0)
这是一个相当危险的想法。
让它成长,它不会发生:250000000011使用与你的250000000012相同的地方 表,特别是因为它是一个bigint(8字节)。
否则