请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

mysql中SQL语句的注入问题

SET NAMES utf8mb4;

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户唯一id',

  `name` VARCHAR(32) DEFAULT NULL COMMENT '用户名',

  `email` VARCHAR(32) DEFAULT NULL COMMENT '电子邮箱',

  `password` VARCHAR(32) DEFAULT NULL COMMENT '密码',

) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;

DROP TABLE IF EXISTS `role`;

CREATE TABLE `role` (

  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,

  `user_id` INT(11) UNSIGNED NOT NULL COMMENT '用户id',

  `name` VARCHAR(32) NOT NULL COMMENT '用户角色名',

  PRIMARY KEY (`id`),

  UNIQUE KEY `user_id_and_name` (`user_id`,`name`) USING BTREE,

  KEY `user_id` (`user_id`)

) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;

老师我这么写的SQL有什么问题吗,为什么一直报错:

错误码: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ') ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4' at line 6


正在回答

1回答

你好,看报错是这个sql不符合mariadb的语法,问题是出在最后那个索引上,你查查看看是不是索引的方式哪里有些不一样

0 回复 有任何疑惑可以回复我~
  • 提问者 Echo鑫 #1
    跟索引 应该没关系 ,我没用索引 照样提示我 语法错误。
    CREATE TABLE `user` (
      `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '用户唯一id',
      `name` VARCHAR(32) DEFAULT NULL COMMENT '用户名',
      `email` VARCHAR(32) DEFAULT NULL COMMENT '电子邮箱',
      `password` VARCHAR(32) DEFAULT NULL COMMENT '密码',
    ) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4;
    依旧提示 这个错误
    回复 有任何疑惑可以回复我~ 2018-01-14 14:14:14
  • Jimin #2
    后面这段不带索引的貌似多了个逗号
    回复 有任何疑惑可以回复我~ 2018-01-14 14:15:59
  • 提问者 Echo鑫 回复 Jimin #3
    还真是。。。之前一直都习惯了复制粘贴SQL,自己写SQL发现就各种问题 。哎,这问题都打扰老师了,我也真是该反省了  /笑哭
    回复 有任何疑惑可以回复我~ 2018-01-14 14:31:28
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信