mysql表中保存的重复行的问题

时间:2010-12-08 06:42:05

标签: php mysql

对我来说有一个旧的mysql问题,我无法解决它在某些mysql表中保存重复的空行

这是我的表结构:  当我试图像这样查询时:

$db->sql_query("INSERT INTO `table_donate`  values (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`) , (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason')"
) or die(mysql_error());

在运行查询

之后只保存了两行

我想知道如何解决这个问题!?!

2 个答案:

答案 0 :(得分:3)

这是你想要做的事情:

INSERT INTO `table_donate` (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`)
values (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason')

您需要在values符号前放置表格列。之后Mysql会尝试插入所有内容。

或者,如果要将数据插入每个列,则首先不需要列名。

答案 1 :(得分:2)

将插入VALUES之后括号中的任何内容。您有两个()个要插入的项目列表,用逗号分隔,因此插入了两行。

MySQL中INSERT语句的syntax

INSERT INTO table (col1, col2, ...) VALUES (val1, val2, ...)

而不是现在拥有的,请尝试

$db->sql_query("INSERT INTO `table_donate` (`did`,`name`,`username`,`user_email`,`donate_amount`,`donate_time`,`reveal_info`,`reason`) values (NULL,'".$info[name]."','".$info[username]."','".$info[user_email]."','".$price."','".$ctime."','1','$reason')") or die(mysql_error());