我正在尝试使用PHP在我的SQL中创建一个表,但我不确定如何为自动增量字段设置初始值。
这是我到目前为止所做的:
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());
mysql_close($connect);
}
所以我需要知道如何在创建时在此表上设置初始自动增量值?
由于
答案 0 :(得分:20)
如果表中还没有自动增量列:
$sql = "ALTER TABLE MY_TABLE ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT,
ADD INDEX (id);";
然后设置自动增量起始值:
$sql = "ALTER TABLE MY_TABLE AUTO_INCREMENT = 111111;";
this post可能重复。
答案 1 :(得分:4)
假设您的自动增量列是第一个:
$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";
起始值将是231。
我将列类型更改为INT
,因为您无法使用VARCHAR
进行自动增量。
(并删除此行上的or die(mysql_error())
顺便说一下,它没有意义,因为它只是一个变量创建,而不是正在执行的SQL查询)