2015-03-04 3 views
0

Я новичок здесь. Я искал свою проблему, но не нашел ничего полезного. Если у вас уже есть ответ на мою проблему, пожалуйста, соедините его.Mysql Создать таблицу с substr как новый столбец

Я новичок в Базах данных, поэтому, возможно, это будет легко.

В любом случае, вот моя проблема.

Я хочу создать стол со столбцом, который выглядит как ABCD12345; И сделайте еще одну колонку с подстрокой из этого.

Моя попытка выглядит эта

  1. CREATE TABLE CLUSTERIP (
  2. Кластер CHAR (32) NOT NULL,
  3. CLUSTER_ID CHAR (9) NOT NULL,
  4. PRIM_ADMIN_NAME CHAR (15) NOT NULL,

  5. CL_PACKAGE CHAR (9) NOT NULL,

  6. DATABASE CHAR (3) комплект Substr (CL_PACKAGE, 6,3));

Но я получаю ошибку синтаксиса. Я видел только Substr, используемый в Select.

Так что это возможно? Есть ли другой способ получить мои 3 буквы в дополнительной колонке?

Спасибо,

Шагон

+0

Я не понимаю, вы не можете сделать подстроку на код, который динамически строить «создать таблицу» синтаксис? – bdn02

+0

Нет. Я хочу создать таблицу, которая автоматически берет 3 Chars из CL_PACKAGE. – Shagon

+0

Но .... Substr (CL_PACKAGE, 6,3) = 'CKA' [CL_PACKAGE - строка!] – bdn02

ответ

0

Пример: use test; create table table3 ( column1 varchar(32) not null, column2 varchar(16) ); CREATE TRIGGER substring_ins BEFORE INSERT ON table3 FOR EACH ROW set NEW.column2 = substring(new.column1, 1, 16); CREATE TRIGGER substring_upd BEFORE UPDATE ON table3 FOR EACH ROW set NEW.column2 = substring(new.column1, 1, 16); insert into table3 (column1) values ('log text for column 1'); select * from table3;