如何在已存在的MYSQL数据库表中添加列条目?

时间:2013-12-05 11:22:14

标签: php mysql sql database

我有一个带有电子邮件文本字段的html页面。当我输入电子邮件ID时,我将其存储在数据库中。该数据库有3个字段,即'serial_no','coupon_code','email'。我已经存储了100多个优惠券代码。所以基本上我有序列号1-100,优惠券代码1-100和我的电子邮件列是空白。我想给每封电子邮件一个独特的优惠券代码。因此,每当我在文本文件中添加电子邮件时,它都应该进入电子邮件列中的数据库,其中优惠券代码未分配给任何电子邮件。

我正在使用这个SQL查询:

for($n=1;$n<100;$n++)
{
    $sql1='Update tbl SET email="'.$email.'" WHERE email="" && sr = "'.$n.'" ';
}

但这是替换表中的所有行。 我如何实现我的目标?

2 个答案:

答案 0 :(得分:0)

试试这个:

$sql1='Update tbl SET email="'.$email.'" WHERE serial_no=(SELECT t.serial_no FROM tbl t WHERE t.email IS NULL ORDER BY t.serial_no LIMIT 1)';

内部子查询将给出电子邮件字段为空的第一个序列号。然后使用您从表单中获得的电子邮件地址更新该记录。所以这只会更新一条记录。

答案 1 :(得分:0)

使用以下查询

UPDATE `table_name` SET `email` = 'email_value'  WHERE `email` IS NULL LIMIT 1;

内循环

它将在每次迭代时仅更新一个空值电子邮件记录