1

I'm trying to create multiple tables with same sheet in a single query like this

 $query ="CREATE TABLE users1, users2, users3 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(24) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL,
    )";

then tried to execute it using PDO

$stmt->execute();

but didn't work, Then tried separating them

$query = "CREATE TABLE users1 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(24) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
    );
CREATE TABLE users2 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(24) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
    );
CREATE TABLE users3 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(24) NOT NULL UNIQUE,
    password VARCHAR(255) NOT NULL
    );
";

once with and without the ; but still give an error

Calibur Victorious
  • 638
  • 1
  • 6
  • 20

1 Answers1

0

Try below code:

$sql = "
CREATE TABLE users1 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
CREATE TABLE users2 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
CREATE TABLE users3 (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(24) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL
);
";

try {
    $stmt = $db->prepare($sql);
    $stmt->execute();
}
catch (PDOException $e)
{
    echo $e->getMessage();
    die();
}

You can read something interesting about pdo multi query :PDO support for multiple queries (PDO_MYSQL, PDO_MYSQLND)

Ahmed Ginani
  • 6,522
  • 2
  • 15
  • 33