0
我想知道如何讓MySQL自動創建一個列,每行增加1(第1行將有ID 1,第2行將得到ID 2等) 例如:
每當新用戶在網站上註冊時,他們都會被分配一個ID號碼。從1開始,然後是2等
MySQL自動ID列
ID |用戶名|密碼
1 |鮑勃| drowssaP
2 |吉爾|貓
我想知道如何讓MySQL自動創建一個列,每行增加1(第1行將有ID 1,第2行將得到ID 2等) 例如:
每當新用戶在網站上註冊時,他們都會被分配一個ID號碼。從1開始,然後是2等
MySQL自動ID列
ID |用戶名|密碼
1 |鮑勃| drowssaP
2 |吉爾|貓
嘗試AUTO_INCREMENT。 Documentation here
如果添加,那魔字:)你創建表的聲明,它會爲你做魔術:)
mysql> CREATE TABLE Users (
-> ID int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Username varchar(255) NOT NULL,
-> Password varchar(255) NOT NULL
->);
Query OK, 0 rows affected (0.52 sec)
mysql> INSERT INTO Users(Username, Password) VALUES('vladimir', 'ilich_lenin');
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO Users(Username, Password) VALUES('friedrich', 'engels');
Query OK, 1 row affected (0.04 sec)
mysql> SELECT * FROM Users;
+----+-----------+-------------+
| ID | Username | Password |
+----+-----------+-------------+
| 1 | vladimir | ilich_lenin |
| 2 | friedrich | engels |
+----+-----------+-------------+
2 rows in set (0.02 sec)
編輯
mysql> CREATE TABLE Persons (ID int NOT NULL PRIMARY KEY, Username varchar(255) NOT NULL, Password varchar(255) NOT NULL);
Query OK, 0 rows affected (0.25 sec)
mysql> SHOW CREATE TABLE
CREATE TABLE `Persons` (
`ID` int(11) NOT NULL,
`Username` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
1 row in set (0.00 sec)
mysql> ALTER TABLE Persons MODIFY ID INTEGER NOT NULL AUTO_INCREMENT;
Query OK, 0 rows affected (0.50 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SHOW CREATE TABLE Persons;
CREATE TABLE `Persons` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Username` varchar(255) NOT NULL,
`Password` varchar(255) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
1 row in set (0.00 sec)
mysql> INSERT INTO Persons(Username, Password) VALUES('friedrich', 'engels');
Query OK, 1 row affected (0.06 sec)
mysql> INSERT INTO Persons(Username, Password) VALUES('karl', 'marx');
Query OK, 1 row affected (0.08 sec)
mysql> SELECT * FROM Persons
-> ;
+----+-----------+----------+
| ID | Username | Password |
+----+-----------+----------+
| 1 | friedrich | engels |
| 2 | karl | marx |
+----+-----------+----------+
2 rows in set (0.00 sec)
謝謝,我其實已經有一個名爲「請求」的現有表,它有更多的行,我已經有一個ID列,我已經分配了索引角色。你有什麼建議嗎? –
顯示你的數據庫結構,如果不是那麼祕密。只需執行'SHOW CREATE TABLE yourtablename;'並在這裏粘貼結果。 – marmeladze
它包含很多用戶密碼作爲MD5的,所以我不想在這裏發佈,但我會告訴你的結構。 ID |歌曲|名稱|專用|時間 很顯然,我想讓ID列自動給出ID –