我在MySQL创build中出现这个错误。 我正在做: CREATE TABLE `blogReply` ( `Id` INT(24) NOT NULL AUTO_INCREMENT COMMENT 'Primary Key of This Table', `blogId` INT(24) NOT NULL COMMENT 'Blog where this reply was posted', `userId` INT(24) NULL COMMENT 'User the blog was posted by', `name` VARCHAR(100) NULL DEFAULT 'Unknown' COMMENT 'The Name of the user that the reply was posted by', […]
我正在创build数据库foo一些表,但每次我最终与errno 150有关的外键。 首先,这是我创build表的代码: CREATE TABLE Clients ( client_id CHAR(10) NOT NULL , client_name CHAR(50) NOT NULL , provisional_license_num CHAR(50) NOT NULL , client_address CHAR(50) NULL , client_city CHAR(50) NULL , client_county CHAR(50) NULL , client_zip CHAR(10) NULL , client_phone INT NULL , client_email CHAR(255) NULL , client_dob DATETIME NULL , test_attempts INT NULL ); CREATE […]
我必须在MySQL中创build一个带有2个表的数据库,但脚本失败,出现errno 150(外键问题)。 我仔细检查了两个表上的外键字段是相同的,我找不到任何错误。 这是脚本: SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL'; DROP SCHEMA IF EXISTS `testdb`; CREATE SCHEMA IF NOT EXISTS `testdb` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ; USE `testdb`; DROP TABLE IF EXISTS `testdb`.`table1` ; CREATE TABLE IF NOT EXISTS `testdb`.`table1` ( `id` INT UNSIGNED NOT NULL , `field1` VARCHAR(50) NULL […]
CREATE TABLE `users` ( `UID` INT UNSIGNED NOT NULL AUTO_INCREMENT , `username` VARCHAR(45) NOT NULL , `password` VARCHAR(100) NULL , `name` VARCHAR(100) NULL , `gender` BIT NULL , `email` VARCHAR(255) NULL , `phone` VARCHAR(30) NOT NULL , `verified` BIT NOT NULL DEFAULT 0 , `time_zone` INT NULL , `time_register` DATETIME NULL , `time_active` DATETIME NULL […]
当我执行以下两个查询(我把它们剥离为绝对必要的): mysql> CREATE TABLE foo(id INT PRIMARY KEY); Query OK, 0 rows affected (0.01 sec) mysql> CREATE TABLE bar ( id INT, ref INT, FOREIGN KEY (ref) REFERENCES foo(id)) ENGINE InnoDB; 我得到以下错误:错误1005(HY000):无法创build表'./test/bar.frm'(errno:150) ****是我的错误? 盯着这半个小时我还没有find他。
我在网上search了这个问题的解决scheme,并检查了SO问题,但没有解决scheme为我的案件工作。 我想创build一个从表sira_no到metal_kod的外键。 ALTER TABLE sira_no ADD CONSTRAINT METAL_KODU FOREIGN KEY(METAL_KODU) REFERENCES metal_kod(METAL_KODU) ON DELETE SET NULL ON UPDATE SET NULL ; 这个脚本返回: Error Code: 1005. Can't create table 'ebs.#sql-f48_1a3' (errno: 150) 我试着给被引用的表添加索引: CREATE INDEX METAL_KODU_INDEX ON metal_kod (METAL_KODU); 我检查了两个表上的METAL_KODU(字符集和整理)。 但是找不到解决这个问题的办法。 有没有人有任何想法? 提前致谢。 编辑:这是metal_kod表: METAL_KODU varchar(4) NO PRI DURUM bit(1) NO METAL_ISMI varchar(30) NO AYAR_YOGUNLUK smallint(6) […]
我正在用MySQL Workbench做一个小的数据库。 我有一个名为“Immobili”的主表,它有一个由四列(Comune,Via,Civico,Immobile)组成的主键。 现在,我还有另外三个表,它们具有相同的主键(Comune,Via,Civico,Immobile),但是这些字段也被引用到表Immobili中。 第一个问题:我可以创build一个也是外键的主键吗? 第二个问题:当我尝试导出更改时,它说:在服务器中执行SQL脚本 # ERROR: Error 1005: Can't create table 'dbimmobili.condoni' (errno: 150) CREATE TABLE IF NOT EXISTS `dbimmobili`.`Condoni` ( `ComuneImmobile` VARCHAR(50) NOT NULL , `ViaImmobile` VARCHAR(50) NOT NULL , `CivicoImmobile` VARCHAR(5) NOT NULL , `InternoImmobile` VARCHAR(3) NOT NULL , `ProtocolloNumero` VARCHAR(15) NULL , `DataRichiestaSanatoria` DATE NULL , `DataSanatoria` DATE NULL , […]