我有一个表名content_details
,并希望以十进制格式打印id:
id contents
1.1 vegetarian
1.2 non-vegetarian
我已将此查询用于
ALTER TABLE content_details
ADD COLUMN id decimal(4,2)
然后用它来保存列
中的数据ALTER TABLE content_details
ADD id = 1.1
WHERE contents_details= 'vegetarian'
但是得到错误:
#1064 - 您的SQL语法出错;查看与您的MySQL服务器版本相对应的手册,以便在' = 1.1 WHERE contents_details ='素食''在第2行
答案 0 :(得分:0)
您必须执行的操作有两个:
第一个是DDL
操作,所以你可以添加ID字段(我想你的桌子出生时你没有它。)
所以你可以写如下:
ALTER TABLE content_details
ADD id decimal(4,2)
所以第二个操作是关于填充字段的DML
脚本,如下所示:
UPDATE content_details
SET id = 1 +
COALESCE(SELECT COUNT(*)
FROM content_details c2
WHERE c2.contents > content_details.contents),0) * 0.1