我有一个带有成员表的MySql Dbase - 特定字段是标题 - 我可以在创建新记录时为该字段设置defaut,例如我可以在新字段中“进行验证”记录被添加 - 我确实搜索了网站但找不到答案
此致
John Berman
答案 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)
答案 4 :(得分:0)
这样的事情应该这样做:
ALTER TABLE members
ALTER COLUMN title SET DEFAULT 'to be validated'