5
我試圖用多個插入(在一個聲明中)防止MySQL和我有這樣的表結構從插入隱含的默認值成NOT NULL列
CREATE TABLE Scores
(
studentID varchar(50) not null,
score int
)
ENGINE = InnoDB
我的查詢:
INSERT INTO Scores Values
('Barry', 45),
(NULL, 41),
('Jones', 53)
這聲明(我期望)應該失敗,因爲[StudentID]列不接受NULL。 問題是MySQL在第2行插入了空字符串(''),並允許其餘部分繼續。
如果我沒有MySQL上的這個特權呢?是否有可能從我的PHP做到這一點?另外,MySQL文檔還指出,更改SQL_MODE可能會影響數據庫的其他部分(例如分區,主站+從站...) – codingbiz
@tunmisefasipe:所有用戶都具有該權限(用於他們當前的會話)。要從'PHP'完成,只需在你正在使用的庫中發出'mysql_query(「SET SQL_MODE ='STRICT_ALL_TABLES'」)'或它的模擬。是的,它可能會影響數據庫的其他部分。 – Quassnoi
謝謝@Quassnoi我會試試看,看看事情進展如何 – codingbiz