簡體   English   中英

將主要ID保存在MySQL表的另一列中

[英]Save primary ID in another column in MySQL Table

我有這個MySQL表:

    CREATE TABLE web_media_com (
    web_media_id INT AUTO_INCREMENT PRIMARY KEY,
    web_media_position INT(12),
    web_media_headline VARCHAR(76),
    web_media_description VARCHAR(680)
    );

我想在一個INSERT INTO查詢中將主ID添加到“ web_media_position”中。 因此,當“ web_media_id”獲得ID 234時,“ web_media_position”應獲得相同的234號。

現在我有這個:

    $mysql_query = "INSERT INTO `web_media_com` (web_media_position, web_media_headline, web_media_description) VALUES
    (LAST_INSERT_ID(), '".$web_media_headline."', '".$web_media_description."')";

但這是行不通的。 有人可以告訴我我該怎么做嗎? 謝謝!!!

使用事務來防止並發插入之間發生沖突。

在直接(非PHP)sql中,它將類似於:

START TRANSACTION;
   INSERT INTO web_media_com(columns)....
   SET @entry_id = LAST_INSERT_ID();
   UPDATE web_media_com set web_media_position = @entry_id 
      where web_media_id = @entry_id;
COMMIT;

(注意:我沒試過這是擺弄。YMMV ...)

最適合您的解決方案

$mysql_query =
 "INSERT INTO web_media_com 
    (web_media_position, web_media_headline, web_media_description) 
    select MAX('id')+1,'".$web_media_headline."','".$web_media_description."' 
      from web_media_com";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM