![](/img/trans.png)
[英]How to insert the auto incremented field id of mysql in php and update the id of one table to another?
[英]MySQL/PHP How would I insert an row into mysql and increase all the auto incremented fields below by 1
說我有一張這樣的桌子:
id|name | ---------- 1 |fred | 2 |jim | 3 |tracy | 4 |stacy |
“id”是具有自動增量的主要索引。
我想在“#2 - jim”下面添加一行。 我將這個新行稱為“約翰”。
我怎么能在“jim”下面插入“john”,這樣john的“id”為3,而“john”下面名字的所有id都會增加1?
例如
id|name | ---------- 1 |fred | 2 |jim | 3 |john | 4 |tracy | 5 |stacy |
非常感謝
此命令將在jim之后為每個人的id添加+1。
UPDATE your_table SET id=id+1 WHERE id>2;
此命令將在jim之后插入一行。
INSERT INTO your_table(id,name) VALUES(3,'john');
更改主鍵值是一個非常糟糕的主意。 如果您的表與其他表有關系,則會出現一致性問題。 假設它是客戶表,並且有一個訂單表。 上述想法將使trstacy的命令與tracy和tracy的約翰等有關。
這不是自動增量指令的工作方式。 您需要使用UPDATE將第3行更改為john,使用UPDATE將第4行更改為tracy,並使用INSERT將新第5行創建為stacy。 如果您需要在10,000記錄表的第5行之后插入一行,這將是非常糟糕的。
您可以直接更改ID值,但這是非常糟糕的做法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.