【问题标题】:Can't add new records in MySQL无法在 MySQL 中添加新记录
【发布时间】:2017-03-13 06:55:06
【问题描述】:

基本上我可以使用它创建一条记录,但它不会自动更新我的 ID 列以允许新记录。我需要添加一个表达式来更新计数器吗?或者是否有一个按钮或开关可以使用 phpmyadmin 在提交时自动创建新 id?

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "message";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $sql = "INSERT INTO adminmessages (UserName, Message, Score)
    VALUES ('SammyWest', 'Test1', '100')";
    // use exec() because no results are returned
    $conn->exec($sql);
    echo "New record created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>

表架构

    1   IDPrimaryIndex  int(255)            No  None        Change Change   Drop Drop   
Primary Primary
Unique Unique
Index Index
Spatial Spatial
Fulltext Fulltext
More
    2   UserName    varchar(255)            No  None        Change Change   Drop Drop   
Primary Primary
Unique Unique
Index Index
Spatial Spatial
Fulltext Fulltext
More
    3   Message varchar(255)            No  None        Change Change   Drop Drop   
Primary Primary
Unique Unique
Index Index
Spatial Spatial
Fulltext Fulltext
More
    4   Score   int(255)            No  None        Change Change   Drop Drop   
Primary Primary
Unique Unique
Index Index
Spatial Spatial
Fulltext Fulltext
More

【问题讨论】:

  • 请发布您的表架构。
  • 你可以检查这个答案stackoverflow.com/a/18942684/1548932
  • 啊,是的! A_I 是我唯一缺少的东西,现在测试它! :D
  • 对于您的表架构,请使用 show create table adminmessages;并发布结果
  • 好作品!非常感谢!

标签: php mysql


【解决方案1】:

您必须使用以下方法将您的 id 列定义为自动递增的主键字段:

ALTER TABLE adminmessages CHANGE id id INT AUTO_INCREMENT PRIMARY KEY;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多