更改SQL表 - 允许NULL列值

Kla*_*sos 19 mysql sql alter

最初,表"MyTable"已按以下方式定义:

CREATE TABLE IF NOT EXISTS `MyTable` (
  `Col1` smallint(6) NOT NULL AUTO_INCREMENT,
  `Col2` smallint(6) DEFAULT NULL,
  `Col3` varchar(20) NOT NULL,
);
Run Code Online (Sandbox Code Playgroud)

如何以"Col 3"列允许为NULL的方式更新它?

Tsc*_*eck 25

以下MySQL语句应修改您的列以接受NULL.

ALTER TABLE `MyTable`
ALTER COLUMN `Col3` varchar(20) DEFAULT NULL
Run Code Online (Sandbox Code Playgroud)

  • 更新表MyTable SET Col3 = null WHERE Col3 ='0000-00-00' (3认同)
  • 等等...... Col3不是varchar(20),不是Date吗? (3认同)

egg*_*yal 21

ALTER TABLE MyTable MODIFY Col3 varchar(20) NULL;
Run Code Online (Sandbox Code Playgroud)