2011-08-03 9 views
0

簡単な質問!レコードを挿入する際にmysqlがフィールド値を使用する

挿入クエリでフィールド値を使用できますか?

たとえば、idという名前のフィールドがあり、フィールドはauto_incrementです。私はこのフィールドの値を別のフィールドに追加したい。私はそれを挿入している間。

私の必要性の単純なPHPコード:

$query_1 = mysql_query("INSERT INTO table (name) VALUES ('abcd')"); // id automatically increment 
$query_2 = mysql_query("SELECT id FROM table WHERE name = 'abcd'"); // selects previous id 
// fetches result // 
$query_3 = mysql_query("UPDATE table SET code = '" . $id + 1000 . "' WHERE id = '" . $id . "'); 

は、あなただけの1クエリに変換することはできますか?

おかげで...

答えて

1

は、私はあなたが1つのクエリでそれを行うことができるとは思わないが、あなたは確かに2でそれを行うことができます。

mysql_query("INSERT INTO table (name) VALUES ('abcd')"); 
$id = mysql_insert_id(); 
mysql_query("UPDATE table SET code = '" . $id + 1000 . "' WHERE id = '" . $id . "'); 
0

は、ここでは1つのクエリでそれを行う方法は次のとおりです。

私はmysqlは1つのコマンドで複数のクエリを許可する場合思い出すことができない
$query_1 = "INSERT INTO table (note) VALUES ('abcd'); UPDATE table SET code = LAST_INSERT_ID() + 1000 where id = LAST_INSERT_ID()"; 

- 私は多分ないと思うので、これを試してみてください。

$query_1 = "INSERT INTO table (note) VALUES ('abcd')"; 
$query_2 = "UPDATE table SET code = id + 1000 where id = LAST_INSERT_ID()"; 
関連する問題