MYSQL問題,為什麼設定為允許為空的欄位卻差不進去控值呢

2022-11-18 05:05:18 字數 1770 閱讀 6320

1樓:匿名使用者

如果你允許為空的欄位資料型別為int或其他數字型別,則不允許插入null,插入的時候什麼都不寫就行insert into table(欄位1,欄位2[int,允許空],欄位3) values(value1,,value3)

上面是個簡單的例子,可能mysql語法有點不一樣

除了數字型別的欄位,直接插入null,不知道能不能不寫,你可以試下

2樓:匿名使用者

值直接寫成:null,或者插入''欄位設定成not null

另外 看下你的欄位是否是int

3樓:匿名使用者

插於語句錯了吧~~ insert into table1(id, name, address) values(1, ygl, 'beijing')

mysql裡面沒設定預設值欄位也不允許為空,插入語句中也沒指定值卻能插入成功!是什麼情況??

4樓:搞事情啊灬

如果不允許為空,是不可能插入null值的,所以你的插入語句肯定寫錯了,看是否是插入了空字串,而不是null值

5樓:匿名使用者

對應的欄位屬性是否有值或者是不是空字串,試試null 能否插入成功呢?

mysql建立表時的空值和非空值設定有什麼講究

6樓:一顆程式猿

空值是一種特殊的狀態, 表示某一個欄位"沒有被處理過"

幾乎在所有的資料庫中甚至是程式語言中, 空與非空都有其存在的意義, 舉個例子, 一個人員表中, 有一個年齡欄位, 這個年齡欄位如果為非 空, 則在不知道人員年齡的情況下, 資料無法入庫, 否則會顯示個奇怪的年齡(比如0歲, 或者-1歲等)

而有些情況澤不可以為空, 最常見的就是"主鍵", 比如身份證號之類的

7樓:匿名使用者

你這樣設定之後,是不能插入的空(null),而是能插入空串(\\'\\')。 如果不讓插入空串,應該使用check,例如: create table table2 ( title varchar(50) not nul

mysql中設定欄位a為允許null,但不給它設定預設值,當我不給該欄位插入資料時,卻提示它沒有預設值

8樓:火籬笆

我感覺不行你說的那樣,你用

show create table dianshang

看下sql語句是不是null,貼出來

mysql 為什麼我設定一個表的欄位not null,為什麼還可以插空?

9樓:匿名使用者

varchar型別的欄位設定not null後,不能存入null 但是可以儲存一個"" 空字串的

10樓:匿名使用者

空格,空字串("")和null是不同的,請檢查插入的內容是不是null

11樓:匿名使用者

mysql沒sqlserver那麼嚴格,大部分時候插入空值是不會報錯的。

mysql的連線的時候有空欄位問題,怎麼解決

12樓:司馬刀劍

alter table 表名 modify 列名 not null;

你在建表時使用not null即可做到限制『』這種空串的插入了。

『』和null雖然本質上不一樣,但『』讀到資料庫時是被當做null處理的。

我提的問題為什麼沒有答案,我提的問題為什麼沒有答案?

1 你提的問題別人不想回答。2 你提的問題無固定答案。3 你提的問題太難不好回答。4 你提的問題大家不感興趣。你的提問是什麼?能說說看麼?沒有答案有很多原因,沒有懸賞額也會有回答也可能是你說的提問無解。最好還是把你的提問告訴大家然後幫你分析一下。問題 的答案 問題很難有一個確定的 無異議的定義,但是...

高數問題此題為什麼選D,一道高數問題,為什麼選D

導數的絕對值小於等於0,當然導數就恆等於0。就這個意思。一道高數問題,為什麼選d 這是你的理解錯誤。我簡單的說明一下。此處是根據初中的誘導公式做的一個變換。口訣是 齊變偶不變,符號看象限。sin x n 1 n sinx 不存在n是偶數的情況 當n 1時,sin x sinx 1 1sinx 當n ...

為什麼MYSQL要設定用UTF8MB4編碼UTF8MB

mysql在5.5.3之後增加了這個utf8mb4的編碼,mb4就是most bytes 4的意思,專門用來相容四位元組的unicode。好在utf8mb4是utf8的超集,除了將編碼改為utf8mb4外不需要做其他轉換。當然,為了節省空間,一般情況下使用utf8也就夠了。二 內容描述 那上面說了既...