在MySQL中,如何在INSERT语句中增加主键

时间:2017-07-12 21:12:28

标签: mysql

我希望在增加CustomerID属性的同时在我的表CUSTOMER中手动添加另一行。

这就是我的CUSTOMER表的结构:

------------------------------------------------------
| CustomerID          |   FirstName  |    LastName   |
------------------------------------------------------
|         1           |   Jeremhia   |    Cutecut    |
------------------------------------------------------
|         2           |   Abe        |    Lincoln    |
------------------------------------------------------

在此表中,我已经有一行CustomerID = 1,FirstName = Jeremhia,LastName = Cutecut。我想在此表中添加另一行而不指定CustomerID列中的数字,换句话说,我想增加它。

这是我到目前为止所做的事情,但它无效:

raw_input

我怀疑变量vcustid在phpMyAdmin中不起作用,是否有类似的变量或任何其他方式来增加它,所以我在我的表中得到了以下结果?

input()

2 个答案:

答案 0 :(得分:4)

使用AUTO_INCREMENT

创建表格
CREATE TABLE CUSTOMER (
     CustomerID  INT NOT NULL AUTO_INCREMENT,
     FirstName  CHAR(30) NOT NULL,
     LastName  CHAR(30) NOT NULL
     PRIMARY KEY (CustomerID)
);

让db处理PK

INSERT INTO CUSTOMER (FirstName, LastName)
       VALUES ('Abe', 'Lincoln');

答案 1 :(得分:0)

您还可以将属性AUTO_INCREMENT添加到字段以让sql处理该问题。然后你只会传递值

ALTER TABLE CUSTOMER MODIFY COLUMN CustomerID INT auto_increment

INSERT INTO CUSTOMER (CustomerID, FirstName, LastName)
      VALUES ('Abe', 'Lincoln');