2011-12-14 36 views
0

如果我有一个表,名为Music:如何SQL插入标识与PHP

ID SONG ARTIST 
1 Gum Tim 
2 Air Bob 

我如何可以插入自动增量ID行?

INSERT INTO MUSIC (ID, SONG, ARTIST) 
VALUES (,earth, mark); 
+0

什么PHP有这个问题呢?你想在PHP中做什么?自动增量由数据库控制。 – Charles 2011-12-14 21:04:15

回答

1

只要ID是你的自动增量这应该工作。您无需在您的字段列表中声明它。

INSERT INTO MUSIC (SONG, ARTIST) VALUES (earth, mark); 
+0

以及我写的代码在PHP页面..我在插入字段中添加ID是我的错误.....解决了问题..!谢谢!! :) – 2011-12-14 21:04:45

+0

请务必接受解决您的问题的答案,无论这个或另一个线程中。高接受率可确保您获得更多帮助。 – Robert 2011-12-14 21:15:52

0

您不需要在SQL中使用自动增量ID。使用此

INSERT INTO MUSIC (SONG, ARTIST) VALUES (earth, mark); 

代替,ID列将自动填充......

0

ID字段应该是 “自动增量”,多读一些here

而如果它已经autoincroment:

INSERT INTO MUSIC (SONG, ARTIST) VALUES ('Yesterday', 'Beatles'); 
1

你可以这样做:

INSERT INTO MUSIC (SONG, ARTIST) VALUES ('earth', 'mark'); 

INSERT INTO MUSIC (ID, SONG, ARTIST) VALUES (NULL, 'earth', 'mark'); 
+0

这在万一ID已经自动增加的情况下! – SlavaNov 2011-12-14 20:59:59

-1

你必须设置表在SQL中有一个主键。创建密钥不是PHP的工作。然后,如果你需要的主键,做这样的事情:

<?php 
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('mydb'); 

mysql_query("INSERT INTO mytable (product) values ('kossu')"); 
printf("Last inserted record has id %d\n", mysql_insert_id()); 
?> 

来源: http://php.net/manual/en/function.mysql-insert-id.php