1

サーバーとの通信をテストするためだけに、iphoneからインクリメントしたい1行の1つのテーブルであるSQLDBがあります。

私は以前に電話でこれを行ったことがありますが、サーバー側でこれを行ったことがないので、学びたいと思います。

これまでのところ、上記のようにSQLデータベースを作成しました。それはほとんどこれだけです。

CREATE TABLE workers
(
id SMALLINT NOT NULL AUTO_INCREMENT
)

それは少し間違っているかもしれません..それがサーバー上で動作するようになるまでに数回かかりました、そして私は今それをメモリから書いているだけです。

ただし、サーバー上のphpスクリプトからインクリメントする方法を理解したいと思います...これまでのところ、スクリプトについては、DB接続をチェックするために行う基本的な作業を行ったので、このような小さなもの..

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

?>

私は今何をすべきかわかりません..私はそのタイプの挿入ステートメントを推測しますが、私はその行で自動インクリメントを使用しているので、これはわかりません...

どんな助けでも大歓迎です..うまくいけば、私がこれを理解するのを手伝ってくれたら、私は先に進んで、より複雑なことを自分で行うことができるでしょう:)

4

5 に答える 5

2

テーブルに1行だけを入れ、呼び出しごとに値を増やしたい場合は、次のようにします。

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に設定しませんが、新しい増加した値に設定します。

于 2012-06-02T23:24:09.903 に答える
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とデフォルト値がそれぞれ自動的に割り当てられます。

于 2012-06-02T23:21:42.897 に答える
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

于 2012-06-02T23:24:45.573 に答える
0

AUTO_INCREMENTは、挿入する連続する各行のIDが段階的に高くなることを意味します。必要なのは、id列の主キーだけです。

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

これにより、行がない場合は行が挿入されますが、すでに行を挿入している場合は、IDがインクリメントされます。

于 2012-06-02T23:22:18.953 に答える
0

試す:

INSERT INTO `workers` VALUES (NULL) 

また

INSERT INTO `workers` (id) VALUES (NULL) 
于 2012-06-02T23:23:31.923 に答える