2016-05-17 3 views
0

Попытки добавить новый столбец в предварительно существующую таблицу с помощью следующей команды:Добавления в SQL Column, что Итоговая колонку значение

ALTER TABLE randomquestions 
ADD Total AS R1_Number + R2_Number + R3_Number + R4_Number PERSISTED 

я получаю эту ошибку:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS R1_Number + R2_Number + R3_Number + R4_Number PERSISTED' at line 2

Может кто-нибудь сказать мне, где я ошибся с синтаксисом?

+1

Является ли это MySQL или SQL Server? –

+2

Пожалуйста, укажите сообщение об ошибке и 'DDL' вашей таблицы – Devart

+1

Пожалуйста, решите' # 1064 - У вас возникла ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашему серверу MySQL ** Microsoft SQL Server ** или ** MySQL **. – lad2025

ответ

1

Если MySQL 5.7.6+Generated Columns:

ALTER TABLE randomquestions 
ADD Total INT AS (R1_Number + R2_Number + R3_Number + R4_Number) STORED; 

Обратите внимание, что вам может понадобиться изменить тип данных в зависимости от типа данных Rx_Number.

+0

Но сообщение об ошибке говорит иначе?, Пожалуйста, обновите вопрос – TheGameiswar

0

Alter выглядит хорошо, без скобок и типа столбца.

ALTER TABLE randomquestions 
ADD Total int AS (R1_Number + R2_Number + R3_Number + R4_Number) PERSISTED 
0

я попробовал подобное заявление с скобкой, и она работала:

use test 
alter table [dbo].[tablename] 
Add total2 as (price * 2) persisted 

(так что я предполагаю, что это скобка, это не найти таблицу, или просто ошибка синтаксиса с именами полей.)

Смежные вопросы