Saya downmod karena ini?
$sql = "UPDATE skills SET level = level+1 WHERE id = $id";
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
Dalam kasus khusus Teifion, DDL phpBB mencantumkan bidang tertentu sebagai NOT NULL, jadi tidak ada bahaya penambahan NULL.
Dalam kasus umum, Anda tidak boleh menggunakan NULL untuk mewakili nol. Menaikkan NULL seharusnya berikan jawaban NULL. Jika Anda adalah jenis pengembang sesat yang berpikir NULL=0, menjauhlah dari keyboard dan temukan hiburan lain, Anda hanya mempersulit hidup kita semua. Tentu saja, ini adalah industri komputer dan siapa kita untuk mengatakan bahwa Anda salah? Jika Anda tidak salah, gunakan
$sql = "UPDATE skills SET level = COALESCE(level,0)+1 WHERE id = $id";
...tapi mari kita hadapi itu:Anda salah. Jika semua orang mulai dari level 0, maka DDL Anda harus menyertakan
level INT DEFAULT '0' NOT NULL
dalam hal pemrogram lupa untuk mengaturnya ketika mereka membuat catatan. Jika tidak semua orang memulai pada level 0, lewati DEFAULT dan paksa programmer untuk memberikan nilai pada penciptaan. Jika beberapa orang berada di luar level, bagi mereka yang memiliki level adalah hal yang tidak berarti, maka menambahkan satu level ke level mereka sama tidak ada artinya. Dalam hal ini, lepaskan NOT NULL dari DDL.