将约束开始添加到mysql中的列

时间:2011-06-02 05:45:49

标签: mysql

嘿,我正在创建一个开发票的应用程序(计算机生成的账单)。 我有一个表sales_log,其中ref没有。 column设置为auto_increment.i没有分配起始值。我的意思是如果参考号码没有。第一个账单是101然后我应该自动得到102..103 ...等其他...我只是不知道如何改变表约束并设置该列的起始值。 这是我的表的描述

mysql> desc sales_log;
+----------+---------+------+-----+---------+----------------+
| Field    | Type    | Null | Key | Default | Extra          |
+----------+---------+------+-----+---------+----------------+
| date     | date    | YES  |     | NULL    |                |
| item_id  | int(11) | YES  | MUL | NULL    |                |
| C_Id     | int(11) | YES  | MUL | NULL    |                |
| Quantity | double  | YES  |     | NULL    |                |
| Ref      | int(11) | NO   | PRI | NULL    | auto_increment |
| price    | double  | YES  |     | NULL    |                |
+----------+---------+------+-----+---------+----------------+

4 个答案:

答案 0 :(得分:3)

请参阅http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html

  

以AUTO_INCREMENT值开头   除1之外,您可以设置该值   与CREATE TABLE或ALTER TABLE一样   这样:

ALTER TABLE sales_log AUTO_INCREMENT = 101;

答案 1 :(得分:2)

要将AUTO_INCREMENT设置回1(例如),请执行以下命令:

ALTER TABLE sales_log AUTO_INCREMENT = 1

答案 2 :(得分:2)

ALTER TABLE sales_log AUTO_INCREMENT = 101;

答案 3 :(得分:0)

CREATE TABLE users (user_id int NOT NULL, name varchar(50),PRIMARY KEY (user_id));

NSERT INTO users VALUES (1, 'Bob');

INSERT INTO users VALUES (2, 'Joe');

INSERT INTO users VALUES (3, 'Paul');

ALTER TABLE users MODIFY user_id int NOT NULL AUTO_INCREMENT;

ALTER TABLE users AUTO_INCREMENT = 6000;

INSERT INTO users (name) VALUES ('Keith');

INSERT INTO users (name) VALUES ('Steve');

INSERT INTO users (name) VALUES ('Jack');

SELECT * FROM users;

user_id name

1鲍勃  2乔
 3保罗  6000基思

6001史蒂夫

6002杰克