我需要一些帮助。我正在尝试在新的 docker 实例上运行一些迁移脚本(旧的和本地的工作正常)。Mariadb,Innodb 引擎。
我有这样的迁移:
ALTER TABLE userinfo DROP COLUMN barcode
Run Code Online (Sandbox Code Playgroud)
这给了我错误:StatementEnd 错误代码:1072。表中不存在键列“条形码”
该专栏存在!这是我的显示创建表:
CREATE TABLE userinfo (
id int(11) unsigned NOT NULL AUTO_INCREMENT,
barcode varchar(45) NOT NULL,
store_id int(11) unsigned DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY store_id_barcode_UNIQUE (`store_id`,`barcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
Run Code Online (Sandbox Code Playgroud)
我尝试了类似的方法ALTER TABLE userinfo ADD KEY "barcode" ("barcode"),但 DROP 语句仍然不起作用。
PS 我从 CREATE 语句中删除了很多列,否则该线程将太长而无法阅读。
我有这个功能:
void aggiornadatabase(void) {
FILE* fp;
int c=0;
char str[30];
int m;
sprintf(str, "%s.csv", utenti[posizioneuser].id);
printf("%s\n", str);
fp = fopen(str, "w");
if (fp == NULL)
printf("Database error\n");
else
m = remove(str);
if (m == 0)
printf("Success\n");
else
printf("Unable to delete the File\n");
fclose(fp);
}
Run Code Online (Sandbox Code Playgroud)
执行此函数时,它会删除所选.csv文件中的所有内容,但它不会删除文件本身(实际上它会打印"无法删除文件").
为什么会这样?
我有这种情况:
Class Employee{
//some attributes
List<String> idContract
//getter, setter
}
Run Code Online (Sandbox Code Playgroud)
我需要使用 java 8 流从列表中检索列表 idContracts。
我正在尝试这样的事情:
lst.stream().filter(o->!o.getLstDipFuoriSoglia().isEmpty())
.map(ResultOdg::getLstDipFuoriSoglia)
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)
但是,当然,返回一个 List< List < String >>,那么我怎样才能实现这个目标呢?
谢谢你的回答