Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tambahkan 1 ke bidang

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan dua hasil hitungan (*) bersama-sama pada dua tabel yang berbeda?

  2. Bagaimana cara mudah menentukan usia dari ulang tahun? (php)

  3. Bagaimana cara mengubah semua tabel di database saya ke set karakter UTF8?

  4. PHP dengan kesalahan MySQL 8.0+:Server meminta metode otentikasi yang tidak diketahui klien

  5. mysql SUM bidang VARCHAR tanpa menggunakan CAST