复制粘贴别人的,是有什么问题吗
在第二行。id varchar(32) default SYS_GUID() PRIMARY KEY中。使用到了自定义函数SYS_GUID(),这个函数应该是自动生成id值的。你可以去掉default SYS_GUID() 或者叫你朋友把自定义函数SYS_GUID()给你,你要先执行这个函数,才能创建这表。
mysql数据库建表后面应该还要ENGINE = InnoDB CHARACTER SET = utf8
参考一下这个准确的:
CREATE TABLE `onlinepay` (
`orderNo` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`payMoney` float(11, 2) NULL DEFAULT NULL,
`payTime` timestamp(0) NULL DEFAULT NULL,
`studId` int(11) NULL DEFAULT NULL,
`examBatchId` int(11) NULL DEFAULT NULL,
`payType` int(11) NULL DEFAULT NULL COMMENT '支付类别(1=微信)',
`baoKaoResultIds` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
`remark` varchar(1000) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL,
PRIMARY KEY (`orderNo`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;
Oracle自己开发了一个数据类型VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。
原帖:https://blog.csdn.net/honglei_zh/article/details/7172538
问题来了,你是复制别人oracle的sql,用在了mysql嘛
把id列中的,default sys..() 去掉
我猜题主想给某个字段设置唯一索引,如果你想设置唯一索引,代码如下:
create table product(
id varchar(32) primary key,
prouductNum varchar(50) not null,
productName varchar(50),
cityName varchar(50),
UNIQUE KEY `UK_product_prouductNum` (`prouductNum`)
);
如果我的回答对你有帮助,麻烦点一下我的回答右上角的采纳,谢谢。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632