Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL - Kunci asing saat hapus setel nol di bidang bukan nol

Jika Anda menyetel ON DELETE SET NULL ke kunci asing Anda maka itu tidak akan memungkinkan Anda untuk mengatur bidang sebagai NOT NULL .

Jadi Anda tidak akan dapat membuat atau mengubah tabel dengan kolom sebagai NOT NULL dan ON DELETE SET NULL di Id Negara

Ketika saya menjalankan pernyataan di bawah ini:

CREATE TABLE `country` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ;

CREATE TABLE `city` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `countryId` int(10) unsigned DEFAULT NOT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_country` (`countryId`),
  CONSTRAINT `FK_country` FOREIGN KEY (`countryId`) REFERENCES `country` (`id`) ON DELETE SET NULL ON UPDATE SET NULL
);

Dan saya mendapatkan kesalahan di MySQL 5.5 adalah:

Schema Creation Failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOT NULL,
  PRIMARY KEY (`id`),
  KEY `FK_country` (`countryId`),
  CONSTRAINT `' at line 4: 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah ada cara yang lebih baik untuk memproses 300.000 baris data file teks dan memasukkannya ke MySQL?

  2. Permintaan Pembaruan Java MySQL

  3. Mengembalikan gumpalan dengan json

  4. Unggahan file lebih lambat dari kecepatan unggah jaringan pengguna di Apache (EC2)

  5. MySQL Nilai default tidak valid untuk stempel waktu ketika tidak ada nilai default yang diberikan.