如何用特定的no创建MySQL表。行?

时间:2014-12-18 13:03:34

标签: php mysql pdo

我想用PHP创建一个MySQL表。它应该有12行和4列。第一列将是id

我正在使用此代码创建表:

$sql = "CREATE TABLE `$table` (
      id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
      name VARCHAR(30),
      pin INT(11),
      country VARCHAR(30)
    )";

try {
    $db->exec($sql);
    echo 'Table created!';
} catch(PDOException $e) {
    echo $e->getMessage();
}

上面的代码正在成功创建表,但我想要的是它应该创建12行,id列要填充到12。其余列应为空。

2 个答案:

答案 0 :(得分:1)

您的代码仅创建包含4列的空表。比你需要INSERT该表的一些数据:

$sql = 'INSERT INTO {$table} (name, pin, country) VALUES ';
$inserts = [];

for ($i = 0; $i < 12; $i++) {
    $inserts[] = "('', 0, '')"; // Or any other values. No ID, because it's auto-incremented
}

$db->exec($sql.implode(', ', $inserts));

答案 1 :(得分:0)

请尝试这种编码

$sql = "CREATE TABLE `$table` (
  id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(30),
  pin INT(11),
  country VARCHAR(30)
)";
mysql_query($sql);

    for($i=1;$i<=12;$i++) {
   $insert = "INSERT INTO `$table` (id,name,pin,country) VALUES ($i,'','','') ";
   mysql_query($insert);
}