如何从php脚本中增加sql DB

时间:2012-06-02 23:16:19

标签: php mysql

我有一个SQL数据库只有一个表,我想从我的iphone中增加一行,只是为了测试与服务器的通信。

我以前用手机做过这个,但我从来没有在服务器端做过这些事情,想学习。

到目前为止,我已经创建了如上所述的sql db。它就是这个。

CREATE TABLE workers
(
id SMALLINT NOT NULL AUTO_INCREMENT
)

可能有些错误..我花了几次才能让它在服务器上运行,而我现在只是从内存中编写它。

然而现在我想弄清楚如何让它从我的服务器上的php脚本增加...到目前为止脚本我做了基本的东西你做它来检查数据库连接所以它看起来像这样......

<?PHP
$con = mysql_connect("db.url.com","pass","username");
if (!$con){die('Could not connect: ' . mysql_error());}
mysql_select_db("db", $con);

?>

我不知道现在要做什么..我猜它的某些类型的插入声明,但我不确定这一点,因为我在那一行使用自动增量......

任何帮助将不胜感激..希望一旦我帮助解决这个问题,我将能够继续前进并做更复杂的事情:)

5 个答案:

答案 0 :(得分:2)

如果您想在表格中只有一行,每次调用时值都会增加,请执行

CREATE TABLE workers (id INT);
INSERT INTO workers SET id=0; -- or whatever start value you want

然后为每次增量运行

UPDATE workers SET id=id+1;

如果您希望拥有多行,并且id字段不断增加,请使用

CREATE TABLE workers (id INT AUTO_INCREMENT PRIMARY KEY); -- and other needed cols

并为每一行做

INSERT INTO workers SET id=0; -- again and other fields

MySQL不会将字段设置为0,而是设置为新的增加值。

答案 1 :(得分:1)

您可以忽略该列。例如,对于此表结构

CREATE TABLE workers
(
id SMALLINT NOT NULL AUTO_INCREMENT,
name varchar(30) NOT NULL
)
你会这样做:

mysql_query("INSERT INTO workers(name) VALUES('John Peters')");

它将自动添加该列。此外,对于每个可用NULL或具有已定义值集的列,您也可以跳过它们,它将分别自动分配NULL和默认值。

答案 2 :(得分:1)

mysql连接:

<?php 
$hostname = "yourhostname";
$database = "yourdatabase";
$username = "youusername";
$password = "yourpasword@";
$conn = mysql_pconnect($hostname,$username,$password) or die();
mysql_select_db($database,$conn) or die(“ERROR ”.mysql_error());
?>

然后INSERT:

<?php
mysql_query("INSERT INTO workers (id) VALUES (null)");
?>

希望它有所帮助! = d

答案 3 :(得分:0)

AUTO_INCREMENT表示您插入的每个连续行都具有递增的更高ID。您应该需要的只是id列的主键。

INSERT INTO `workers` (`id`) VALUES (1) ON DUPLICATE KEY UPDATE `id` = `id` + 1

如果没有行,这将插入一行,但如果您已插入一行,则增加id。

答案 4 :(得分:0)

尝试:

INSERT INTO `workers` VALUES (NULL) 

INSERT INTO `workers` (id) VALUES (NULL)