suchen

Heim  >  Fragen und Antworten  >  Hauptteil

In MySQL sollte beim Schreiben von Daten zuerst die sich selbst erhöhende ID geschrieben und dann den Daten eine ID zugewiesen werden, oder sollte zuerst die ID angegeben werden und dann die einzufügenden Daten geschrieben werden?

In MySQL wird die ID automatisch erhöht. Wenn Sie nun Daten hineinschreiben, besteht der spezifische Vorgang darin, zuerst die Daten einzuschreiben und den Daten dann eine ID zu geben, oder zuerst die ID anzugeben und dann die einzufügen Geben Sie die einzufügenden Daten ein
. Einfach nur neugierig

伊谢尔伦伊谢尔伦2787 Tage vor606

Antworte allen(2)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-18 10:53:19

    MYSQL已经算好了下次需要填写的自增ID了

    如下图所示.数据库有62行,自增值到了63.

    未指定ID则MYSQL自己填写,如果填写小于自动递增,则报错!如果填写大于自动递增,则自动递增变成填写数+1

    获取插入ID:
    MYSQLI : mysqli_insert_id方法
    PDO : PDO::lastInsertId方法
    MYSQL : mysql_insert_id方法

    其中MYSQL方式连接数据库已弃用,可能在未来版本移除

    下面这条SQL可以实现你要的需求,但是我不确定这么干好不好,还有数据结构设置成这样,真的好吗?

    INSERT INTO sta_log_fun(`FCNAME`,`STATUS`) VALUES('WOQU',(SELECT auto_increment FROM information_schema.`TABLES` WHERE TABLE_SCHEMA='test2' AND TABLE_NAME='sta_log_fun'));

    效果如下图:

    Antwort
    0
  • PHP中文网

    PHP中文网2017-05-18 10:53:19

    没去研究过,但是我猜想是不是和我们手动插入数据一样,是一同写入的。获取当前表id的最大值,加上设定的自增值,放入数据一同插入。。。。

    Antwort
    0
  • StornierenAntwort