当前位置:   article > 正文

mysql修改表时添加默认约束和删除默认约束_修改为字段添加默认约束

修改为字段添加默认约束

mysql修改表时添加默认约束和删除默认约束

直接po代码和截图

  1. #
  2. CREATE TABLE testMyIndex2(
  3. id int,
  4. address VARCHAR(130),
  5. email VARCHAR(40),
  6. hobby VARCHAR(160),
  7. userName VARCHAR(50)
  8. );
  9. #修改表时添加默认约束
  10. #
  11. ALTER TABLE testMyIndex2 MODIFY address VARCHAR(115) DEFAULT '江西省赣州市于都县';
  12. SELECT * FROM testMyIndex2;
  13. INSERT INTO testMyIndex2(id, email, hobby, userName) VALUES (1, 'ling@qq.com', '喝酒', '令狐冲');
  14. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (4, 'yang@qq.com', DEFAULT, '打架', '杨过');
  15. SELECT * FROM testMyIndex2;
  16. #
  17. ALTER TABLE testMyIndex2 ALTER COLUMN address SET DEFAULT '中国江西省于都县';
  18. SELECT * FROM testMyIndex2;
  19. INSERT INTO testMyIndex2(id, email, hobby, userName) VALUES (2, 'wei@qq.com', '喜欢瞎掰', '韦小宝');
  20. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (3, 'zhang@qq.com', DEFAULT, '练武功', '张无忌');
  21. SELECT * FROM testMyIndex2;
  22. #删除默认约束(有2种方式)
  23. #删除默认约束(方式1)
  24. ALTER TABLE testMyIndex2 MODIFY address VARCHAR(90);
  25. #
  26. DESC testMyIndex2;
  27. SELECT * FROM testMyIndex2;
  28. #插入数据时,不会报错,address列为null
  29. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (5, 'guo@qq.com', DEFAULT, '看书', '郭靖');
  30. SELECT * FROM testMyIndex2;
  31. #删除默认约束(方式2)
  32. ALTER TABLE testMyIndex2 ALTER COLUMN address DROP DEFAULT;
  33. #
  34. DESC testMyIndex2;
  35. /*如果是通过第2种方式删除默认约束,那么如下这样插入数
  36. 据时会报错1364 - Field 'address' doesn't have a default value
  37. */
  38. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (6, 'huang@qq.com', DEFAULT, '聪明伶俐', '黄蓉');
  39. SELECT * FROM testMyIndex2;
  40. #
  41. DESC testMyIndex2;
  42. #正确插入数据
  43. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (7, 'jian@qq.com', '紫禁城', '嚣张跋扈', '建宁公主');
  44. /*如果是通过第2种方式删除默认约束,那么如下这样插入数
  45. 据时会报错1364 - Field 'address' doesn't have a default value
  46. */
  47. INSERT INTO testMyIndex2(id, email, hobby, userName) VALUES (8, 'shuang@qq.com', '武功', '双儿');
  48. #
  49. DESC testMyIndex2;
  50. #可以查一下建表的信息,分析一下为什么上面的那条INSERT语句为什么无法插入数据,为什么报错?
  51. SHOW CREATE TABLE testMyIndex2;
  52. #
  53. SELECT * FROM testMyIndex2;
  54. #
  55. INSERT INTO testMyIndex2(id, email, address, hobby, userName) VALUES (9, 'mu@qq.com', '沐王府', '小郡主', '沐剑屏');
  56. #
  57. SELECT * FROM testMyIndex2;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/322441
推荐阅读
相关标签
  

闽ICP备14008679号