sql >> Database >  >> RDS >> Mysql

Hoe vraag ik een mysql-veld aan?

Standaard accepteert MySQL ongeldige waarden. U kunt MySQL instellen op de strikte modus om geldige waarden te forceren. Hiermee wordt een query afgewezen die geen waarde geeft voor een NOT NULL-kolom en wordt integriteit op alle typen kolommen afgedwongen.

Bijwerken: MySQL 5.7 en hoger hebben nu standaard de strikte modus ingeschakeld. Het accepteert dus standaard geen ongeldige waarden zoals eerdere versies.

http://dev.mysql .com/doc/refman/5.0/en/sql-mode.html#sql-mode-important

http://dev.mysql.com/doc /refman/5.0/en/sql-mode.html#sqlmode_strict_all_tables

Bewerken:@Barranka en @RocketHazmat maakten goede punten in de opmerkingen. '' is niet hetzelfde als null, dus MySQL staat dat toe in een NOT NULL-kolom. In dat geval zou u uw toevlucht moeten nemen tot uw code of een trigger.

In de code (bijvoorbeeld PHP) zou dit eenvoudig genoeg kunnen zijn door zoiets uit te voeren als:

if (!strlen($value)) { 
    // Exclude value or use NULL in query
}


  1. Hoe de standaard MySQL/MariaDB-poort in Linux te wijzigen

  2. Hoe de standaardbeperking van SQL te laten vallen zonder de naam te kennen?

  3. Topvragen over primaire sleutel in Oracle met voorbeelden

  4. Vind overlappende (datum/tijd) rijen binnen één tabel