【问题标题】:how do I insert a range of data in mySQL?如何在 mySQL 中插入一系列数据?
【发布时间】:2015-11-28 04:05:01
【问题描述】:

我现在正在运行:

$conn = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
for ($i = 0; $i <= 20; $i++) {
  mysql_query("INSERT INTO my_table(user_id) values('$i')");
}

问题是,它会创建 1-20 行。不过,我需要 1500-1999 的行。我该怎么做?

【问题讨论】:

  • 您是否尝试过更改for 循环中的020?发生了什么?
  • 很难相信代码中巧合的&lt;= 20(小于或等于20)从未让您印象深刻。
  • 需要第 1500 到 1999 行是什么意思?如果您希望 my_table 中 user_id 等于这些值的条目,只需更改您的 for 循环开始和结束值。另请注意@Machavity 的评论。
  • 将 $i 值更改为 $i=1500; $i

标签: php mysql


【解决方案1】:

首先使用在您的表上运行以下查询

ALTER TABLE tbl AUTO_INCREMENT = 1500;

然后使用你的代码

$conn = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());
for ($i = 0; $i < 500; $i++) {
  mysql_query("INSERT INTO my_table(user_id) values('$i')");
}

如您所知,mysql_query() 是新 PHP 版本的折旧函数 您可能想改用 mysqli。

【讨论】:

    【解决方案2】:

    首先,不要使用 mysql_* 函数,正如 Machavity 指出的那样。使用 mysqli_* 函数。

    正如其他人在 cmets 中所说,尝试更改 $i 值以进行初始和边界检查。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 2023-03-15
      • 2012-11-16
      • 2018-04-19
      • 2015-04-22
      • 1970-01-01
      • 2013-10-19
      相关资源
      最近更新 更多