1

同じクエリで2つのテーブルにデータを送信することは可能ですか?

私の既存のコードは次のようになります。

private function adduser() {

    if (!empty($this->error)) return false;

    $params = array(
        ':user_level' => parent::getOption('default-level'),
        ':name'       => $this->name,
        ':email'      => $this->email,
        ':username'   => $this->username,
        ':password'   => parent::hashPassword($this->password)
    );

    parent::query("INSERT INTO `login_users` (`user_level`, `name`, `email`, `username`, `password`)
                    VALUES (:user_level, :name, :email, :username, :password);", $params);

私はこのコードを書かなかったので、私は通常PDOを使用しないので、少し混乱します。これに加えて、「url_alias」テーブルに2つの値を追加します。1つ目はUID(最初のクエリから自動的にインクリメントされます)で、2つ目は別の変数値です。

検索中に見つけたすべての例は、この既存のコードの外観が原因でうまくいかないようです。

誰か私に手を貸してもらえますか?

4

1 に答える 1

0

使用している db ドライバー (PDO、Mysqli など) は関係ありません。純粋に mysql の機能について質問します。Mysql は、単一のクエリで複数のテーブルの行を更新および削除できますが、挿入はできません。つまりINSERT table_1, table_2 ...、許可されていません。

データを挿入するテーブルごとに 1 つのクエリを実行する必要があります。

于 2012-10-20T23:57:06.937 に答える