首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >只能在mysql表中插入一次

只能在mysql表中插入一次
EN

Stack Overflow用户
提问于 2013-05-03 05:22:56
回答 4查看 2.8K关注 0票数 1

我有一个问题,我只能将数据插入到我的表中一次。如果我删除行并插入一个新行,它可以工作,但是如果我已经有一个行并尝试插入另一个行,它不能工作。控制台或网络中没有错误。

我插入了以下内容:

代码语言:javascript
运行
AI代码解释
复制
<?php
error_reporting(E_ALL);
include 'DB.php';

$con = mysql_connect($host,$user,$pass)
    or die("Error: ".mysql_error());
$dbs = mysql_select_db($databaseName, $con);

$name = mysql_real_escape_string($_POST['name']);
$date = date('Y-m-d');
$amount = $_POST['amount'];
$timPaid = $_POST['timPaid'];
$rennyPaid = $_POST['rennyPaid'];

$sql = "INSERT INTO $tableName (`name`, `date`, `amount`, `timpaid`, `rennypaid`)
        VALUES ('$name', '$date', '$amount', '$timPaid', '$rennyPaid')";

$result = mysql_query($sql, $con)
    or die("Error: ".mysql_error());

mysql_close($con);
?>

我在想,这可能与我的表的设置方式、主键等有关。我有一个id列,它是主要的,我认为它是自动递增的,不能说。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-03 05:53:17

由于您不确定id字段是否是自动递增的,因此您应该像这样修改表。

代码语言:javascript
运行
AI代码解释
复制
ALTER TABLE `yourtable`
MODIFY COLUMN `id`  int(11) NULL AUTO_INCREMENT FIRST;
票数 0
EN

Stack Overflow用户

发布于 2013-05-03 07:03:57

SHOW CREATE TABLE tableName的结果会有所帮助。

我猜想你在你的字段中有一个唯一的索引,并且你正在尝试插入第二条具有相同值的记录。

此外,CHECK TABLE tablename还可以帮助识别问题。

票数 0
EN

Stack Overflow用户

发布于 2015-01-10 00:46:15

我有这个..。我已经将我的第一个列设置为“唯一”,并且我的“插入”没有涉及该列。因此,“Insert”在“唯一”列中添加了一个零值(我将该列设置为“整数”)。当我做另一个insert时,“我认为”Insert“想要在”unique“列中添加另一个零,所以它试图”插入“另一个零,但因为该列是”unique“,所以它不允许另一个零,并拒绝”Insert“。我证明了这一点,将“唯一”列中的第一个“Insert”条目手动更改为另一个“Integer”,然后“Insert;语句再次工作……重复上述过程,我的表允许另一个”Insert“。

希望这是有意义的和有帮助的?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16352136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文