开发者

set auto increment initial value for mysql table

I'm trying to create a table in my sql using PHP but I'm not sure how to set an initial value for the auto increment field.

This is what i have so far:

function create_table($db_host,$db_user,$db_pswrd,$db_name){

$connect = mysql_connect($db_host,$db_user,$db_pswrd) or die(mysql_error());

mysql_select_db($db_name, $connect);
 $sql = "CREATE TABLE MY_TABLE
 (
table_id int NOT NULL AUTO_INCREMENT, 
 PRIMARY KEY(table_id),
 table_1 varchar(45),
 table_2 varchar(45),
 table_3 varchar(999),
 table_4 varchar(45)
 )"or die(mysql_error());

 mysql_query($sql,$connect)or die(mysql_error())开发者_Python百科;

mysql_close($connect);

}

So i need to know how to set the initial Auto Increment value on this table, upon creation?

Thanks


If you don't have the auto-increment column in the table yet:

$sql = "ALTER TABLE MY_TABLE ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ADD INDEX (id);";

Then to set the auto-increment starting value:

$sql = "ALTER TABLE MY_TABLE AUTO_INCREMENT = 111111;";

Potential duplicate of this post.


Assuming your auto increment column is the first one:

 $sql = "CREATE TABLE MY_TABLE
 (
 table_1 INT AUTO_INCREMENT,
 table_2 varchar(45),
 table_3 varchar(999),
 table_4 varchar(45)
 ) AUTO_INCREMENT = 231";

The starting value will be, here, 231.

I changed the column type to INT, because you can't use a VARCHAR for auto-increment.

(and remove the or die(mysql_error()) on this line btw, its pointless because it's just a variable creation, not a SQL query being executed)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜