MySQL添加一个字符串作为默认值

时间:2014-07-12 15:50:23

标签: mysql

我有一个带有成员表的MySql Dbase - 特定字段是标题 - 我可以在创建新记录时为该字段设置defaut,例如我可以在新字段中“进行验证”记录被添加 - 我确实搜索了网站但找不到答案

此致

John Berman

5 个答案:

答案 0 :(得分:1)

创建表时,只需指定默认值:

CREATE TABLE `test`.`new_table` (
  `pk` INT NOT NULL,
  `field` VARCHAR(45) NULL DEFAULT 'to be validated',
  PRIMARY KEY (`pk`));

然后,每次创建新记录时,如果没有其他内容传递,它将默认为该值。

答案 1 :(得分:0)

您可以在create table语句中设置默认值。例如:

title varchar(255) not null default 'title'

或者您可以修改列:

alter table table modify title varchar(255) default 'title'

您可以使用以下内容在NULL个值的行中设置现有值:

update table t
    set title = 'title'
    where title is null;

答案 2 :(得分:0)

你的想法是正确的。但是您可以使用一个简单的tinyint或boolean字段来指示您是否已使用默认值false或0验证字段。这样可以节省大量空间

CREATE TABLE users (
    id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    ....
    validated TINYINT NOT NULL DEFAULT 0
);

验证后,您可以将验证更改为1。

答案 3 :(得分:0)

您可以使用TRIGGER,这里的示例

来实现
CREATE TABLE example6 (
    id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50)
);


CREATE TRIGGER to_be_validated BEFORE INSERT ON example6
FOR EACH ROW SET NEW.title = CONCAT(NEW.title, ' (to be validated)');

INSERT INTO example6 (title) VALUES ('This is a test');

SELECT * FROM example6;

结果:

id | title
-------------------------------------
 1 | This is a test (to be validated)    

DEMO

答案 4 :(得分:0)

这样的事情应该这样做:

ALTER TABLE members
ALTER COLUMN title SET DEFAULT 'to be validated'