如何更新sql表中的空值?

时间:2015-01-24 14:27:40

标签: php mysql

我有一个名为'enroll'的表,其中包含以下属性:

student_id | section | enroll_num      
           |    T4   |      1    
           |    T6   |      2 
           |    L2   |      3                                

enroll_num是主键,我填写了“section”字段,下面给出的代码使用了另一个表中的值。它让student_id空了。我如何填写NULL student_id字段,或者是否有一种方法可以在插入“section”值时同时填写student_id?

if(isset($_POST['add2']))
{
$group = $_POST['group'];
$id = $_POST['id'];

$sql = "INSERT INTO enroll (section)
  SELECT section FROM info3 WHERE group_no LIKE '%$group%'";      

if (mysqli_query($conn, $sql)) 
{
echo "Successfully inserted";
} 
else 
{...

我已经看够了,已经尝试过了 -

 $sql2 = "UPDATE enroll SET student_id ='$id' WHERE student_id IS NULL";

但它不起作用。

2 个答案:

答案 0 :(得分:0)

id属性首先应该不是NULL,而是相应数据库记录(行)的唯一标识符。

但您可以使用enroll_num更新您的表格,因为这似乎是唯一的吗?

"UPDATE enroll SET student_id ='$id' WHERE enroll_num = '$enroll_num'";

答案 1 :(得分:0)

我认为你可以在insert语句中插入student_id,你必须在select查询中添加student_id($ id)。

$sql = "INSERT INTO enroll (student_id, section)
        SELECT $id, section FROM info3 WHERE group_no LIKE '%$group%'";