Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747

    [MySQL] Non accetta valori nulli

    Sono su MySQL 5.6.30
    Versione del client del database: libmysql - 5.1.73
    phpMyAdmin 4.0.10.14


    Succede che quando faccio delle Insert o Update mi viene fuori l'errore: Field 'curriculum' doesn't have a default value

    per campi che non sono neanche interpellati nelle query

    I valori dei default di quei campi, visti da phpMyadmin risultano "nessuno" ma lo stesso rompono le scatole.

    Ma cosa succede? Eppure su qualche versione precedente tutto funzionava.

    Uso la funzione mysqli_query
    Errare humanum est, perseverare ovest

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Dovresti postare la definizione della tabella per vedere come hai settato i vari campi.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Grazie,

    sto googlando: mysql error 1364 field doesn't have a default value

    ma trovo soluzioni che o non posso applicare (ho il db in hosting) o non funzionano

    prima di aprire un ticket vorrei avere le idee chiare o meglio risolvere da solo

    Intanto...

    -- phpMyAdmin SQL Dump
    -- version 4.0.10.14
    --
    -- Host: localhost:----
    -- Generato il: Mag 27, 2016 alle 03:35
    -- Versione del server: 5.6.30
    -- Versione PHP: 5.4.31

    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";

    --
    -- Database: `suprace`
    --

    -- --------------------------------------------------------

    --
    -- Struttura della tabella `categorie`
    --

    CREATE TABLE IF NOT EXISTS `klg_reg_categorie` (
    `id_categoria` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `nome_categoria` text NOT NULL,
    `nome_categoria_inglese` text NOT NULL,
    `sesso` varchar(15) NOT NULL,
    `pubblicazione` tinyint(3) unsigned NOT NULL,
    `posizione` int(10) unsigned NOT NULL,
    `dataorario_inserimento` datetime NOT NULL,
    `dataorario_modifica` datetime NOT NULL,
    PRIMARY KEY (`id_categoria`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7 ;
    Ultima modifica di carlo2002; 27-05-2016 a 02:47
    Errare humanum est, perseverare ovest

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Orca miseria l'hosting mi ha risposto che devo essere io ad adeguare il codice.

    Ma è mai possibile che un database non riesca ad accettare valori nulli? Qua si va di male in peggio...
    Errare humanum est, perseverare ovest

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Con questa definizione ti basta assegnare un valore a nome_categoria e nome_categoria_inglese

    codice:
    CREATE TABLE IF NOT EXISTS `klg_reg_categorie` (
     `id_categoria` int(10) unsigned NOT NULL AUTO_INCREMENT,
     `nome_categoria` text NOT NULL,
     `nome_categoria_inglese` text NOT NULL,
     `sesso` varchar(15) NOT NULL DEFAULT ' ',
     `pubblicazione` tinyint(3) unsigned NOT NULL DEFAULT 0,
     `posizione` int(10) unsigned NOT NULL DEFAULT 0,
     `dataorario_inserimento` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
     `dataorario_modifica` datetime NOT NULL  DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY (`id_categoria`)
     ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=7
    Puoi modificare ogni singolo campo con ALTER TABLE.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Non si riesce ad usare ALTER TABLE, anche con questa istruzione esce l'errore Field doesn't have a default value

    La cosa sembra sia dovuta al fatto che dalla versione 5.6 l'opzione STRICT_TRANS_TABLES e' di default e non si può usare not null.

    Impostando i campi con NULL le cose funzionano ma devo mettere mano al codice. Ora ho una cosa da poco ma se per il futuro dovrò risistemare altri siti che ho belli grossi mi viene da piangere.
    Errare humanum est, perseverare ovest

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,747
    Dio bon, non si riesce ad inserire lo zero in un campo numerico. ma che roba è?
    Errare humanum est, perseverare ovest

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.